diff --git a/swig/matchrulesequence.i b/swig/matchrulesequence.i
index f746531ab45d5ac571465e6b177d9e0aeb760f03..cc5105c10047799639eb21209e41ba15c4581e75 100644
--- a/swig/matchrulesequence.i
+++ b/swig/matchrulesequence.i
@@ -15,8 +15,10 @@
 %include <libcorpus2/boost_shared_ptr.i>
 
 %template(MatchRuleVector) std::vector<Wccl::Matching::MatchRule>;
-%template(MatchRuleSequencePtr) boost::shared_ptr<Wccl::Matching::MatchRule>;
-%template(ConstMatchRuleSequencePtr) boost::shared_ptr<const Wccl::Matching::MatchRule>;
+%template(MatchRulePtr) boost::shared_ptr<Wccl::Matching::MatchRule>;
+%template(ConstMatchRuleSequencePtr) boost::shared_ptr<const Wccl::Matching::MatchRuleSequence>;
+%template(MatchRuleSequencePtr) boost::shared_ptr<Wccl::Matching::MatchRuleSequence>;
+%template(ConstMatchRulePtr) boost::shared_ptr<const Wccl::Matching::MatchRule>;
 
 namespace Wccl {
 namespace Matching {