diff --git a/libwccl/values/match.h b/libwccl/values/match.h
index d2ac17fbd1ecbd0dfe17ff7f1bbff26dda816e3d..66161fab12fd14c8e57b9b3f08dd36e20b2a00f5 100644
--- a/libwccl/values/match.h
+++ b/libwccl/values/match.h
@@ -49,6 +49,16 @@ public:
 	{
 	}
 
+	Match(const Match& match)
+		: match_(match.match_->clone())
+	{
+	}
+
+	Match& operator=(const Match& match) {
+		match_ = match.match_->clone();
+		return *this;
+	}
+
 	const MatchData& get_value() const {
 		return *match_;
 	}