diff --git a/swig/chunk.i b/swig/chunk.i
index 08412c3935fc602bf4c2f6021a7679acd02cdf93..b0af757de2729b7f3300ff5d13e043af76f25028 100644
--- a/swig/chunk.i
+++ b/swig/chunk.i
@@ -19,6 +19,9 @@
 %include "sentence.i"
 
 %template(ChunkPtr) boost::shared_ptr<Corpus2::Chunk>;
+%template(ConstChunkPtr) boost::shared_ptr<const Corpus2::Chunk>;
+%template(ChunkPtrVector) std::vector< boost::shared_ptr<Corpus2::Chunk> >;
+
 %template(SentencePtrVector) std::vector<boost::shared_ptr<Sentence> >;
 // %template(attr_map_t) std::map<std::string, std::string>;
 
@@ -48,7 +51,6 @@ namespace Corpus2 {
   };
 }
 
-%template(ChunkPtrVector) std::vector<boost::shared_ptr<Chunk> >;
 using namespace std;
 using namespace Corpus2;
 
diff --git a/swig/relation.i b/swig/relation.i
index d273e72e70cd9883d77eeed3e54135aadba6319c..64084f2cbb28afeddd2fdeb93d3d5373a681de33 100644
--- a/swig/relation.i
+++ b/swig/relation.i
@@ -13,8 +13,10 @@
 // %feature("notabstract") Corpus2::TokenMetaData;
 %template(DirectionPointPtr) boost::shared_ptr<Corpus2::DirectionPoint>;
 %template(ConstDirectionPointPtr) boost::shared_ptr<const Corpus2::DirectionPoint>;
+
 %template(RelationPtr) boost::shared_ptr<Corpus2::Relation>;
 %template(ConstRelationPtr) boost::shared_ptr<const Corpus2::Relation>;
+%template(RelationPtrVector) std::vector< boost::shared_ptr<Corpus2::Relation> >;
 
 namespace Corpus2 {
   class DirectionPoint {