diff --git a/libwccl/parser/parsingscope.h b/libwccl/parser/parsingscope.h
index d650adcda9f2d1cffccf9fc7849e15578a5919f8..f32c5305f06a159430ecc453d7d0be748a5e1f7f 100644
--- a/libwccl/parser/parsingscope.h
+++ b/libwccl/parser/parsingscope.h
@@ -27,7 +27,7 @@ namespace Wccl {
 class ParsingScope
 {
 public:
-	ParsingScope(const Corpus2::Tagset& tagset, const Lexicons& lexicons)
+	ParsingScope(const boost::shared_ptr<const Corpus2::Tagset> tagset, const Lexicons& lexicons)
 		: tagset_(tagset),
 		  variables_(new Variables()),
 		  lexicons_(lexicons)
@@ -41,7 +41,7 @@ public:
 	{
 	}
 
-	const Corpus2::Tagset& tagset() const {
+	const boost::shared_ptr<const Corpus2::Tagset> tagset() const {
 		return tagset_;
 	}
 
@@ -61,7 +61,7 @@ public:
 		variables_->reset_values();
 	}
 private:
-	const Corpus2::Tagset& tagset_;
+	const boost::shared_ptr<const Corpus2::Tagset> tagset_;
 	boost::shared_ptr<Variables> variables_;
 	const Lexicons& lexicons_;
 };