diff --git a/libcorpus2/io/xcesreader.cpp b/libcorpus2/io/xcesreader.cpp
index 010c81bf3044fe4ecf75dde159213be8ad20948d..4fd6a73567bd60ab7aa7bf499c4b3c957d8bf21b 100644
--- a/libcorpus2/io/xcesreader.cpp
+++ b/libcorpus2/io/xcesreader.cpp
@@ -53,7 +53,7 @@ XcesReader::XcesReader(const Tagset& tagset, std::istream& is,
 	this->is_ = &is;
 }
 
-XcesReader::XcesReader(const Tagset& tagset, std::string& filename, bool disamb_only, bool disamb_sh)
+XcesReader::XcesReader(const Tagset& tagset, const std::string& filename, bool disamb_only, bool disamb_sh)
 	: BufferedChunkReader(tagset),
 	impl_(new XcesReaderImpl(tagset, chunk_buf_, disamb_only, disamb_sh))
 {
diff --git a/libcorpus2/io/xcesreader.h b/libcorpus2/io/xcesreader.h
index 0fb11078f6ae58a1e7bb075b6f21f5182c785158..5fc9c0a038d43a3fa9db05e492ba0620556469b6 100644
--- a/libcorpus2/io/xcesreader.h
+++ b/libcorpus2/io/xcesreader.h
@@ -17,7 +17,7 @@ public:
 	XcesReader(const Tagset& tagset, std::istream& is,
 			bool disamb_only = false, bool disamb_sh = false);
 
-	XcesReader(const Tagset& tagset, std::string& filename,
+	XcesReader(const Tagset& tagset, const std::string& filename,
 			bool disamb_only = false, bool disamb_sh = false);
 
 	~XcesReader();