diff --git a/libwccl/ops/match/actions/markmatch.h b/libwccl/ops/match/actions/markmatch.h
index 024af6decd0188bdf5016901c61c75ce3b2a407a..9a2a8c0e23e23face694fa820032235f7b3fb112 100644
--- a/libwccl/ops/match/actions/markmatch.h
+++ b/libwccl/ops/match/actions/markmatch.h
@@ -76,9 +76,9 @@ protected:
 	 */
 	virtual std::ostream& write_to(std::ostream& ostream) const;
 private:
-	const boost::shared_ptr<Function<Match> >& match_from_;
-	const boost::shared_ptr<Function<Match> >& match_to_;
-	const boost::shared_ptr<Function<Match> >& head_match_;
+	const boost::shared_ptr<Function<Match> > match_from_;
+	const boost::shared_ptr<Function<Match> > match_to_;
+	const boost::shared_ptr<Function<Match> > head_match_;
 	const std::string chan_name_;
 };
 
diff --git a/libwccl/ops/match/actions/unmarkmatch.h b/libwccl/ops/match/actions/unmarkmatch.h
index b0cfd31e7bace0dbc916f6ab0116ed15ea2f5cfd..1f1071a82b5a499c7e9b230be1869768362d78f0 100644
--- a/libwccl/ops/match/actions/unmarkmatch.h
+++ b/libwccl/ops/match/actions/unmarkmatch.h
@@ -16,7 +16,7 @@ public:
 	UnmarkMatch(
 			const boost::shared_ptr<Function<Match> >& match,
 			const std::string& annotation_name)
-		: match_(match_),
+		: match_(match),
 		  chan_name_(annotation_name)
 	{
 		BOOST_ASSERT(match_);
@@ -49,7 +49,7 @@ protected:
 	 */
 	virtual std::ostream& write_to(std::ostream& ostream) const;
 private:
-	const boost::shared_ptr<Function<Match> >& match_;
+	const boost::shared_ptr<Function<Match> > match_;
 	const std::string chan_name_;
 };