diff --git a/libcorpus2/ann/channel.cpp b/libcorpus2/ann/channel.cpp
index 0138795f4644a1d35a04e13ae73a5a895f2f3505..34e75491fd27aa77cdc3a294ad5df50590e181c6 100644
--- a/libcorpus2/ann/channel.cpp
+++ b/libcorpus2/ann/channel.cpp
@@ -107,7 +107,7 @@ void AnnotationChannel::set_segment_at(int token_idx, int segment_idx)
 	}
 }
 
-IOB::Enum AnnotationChannel::get_iob_at(int idx)
+IOB::Enum AnnotationChannel::get_iob_at(int idx) const
 {
 	if (idx >= 0 && idx < static_cast<int>(iobs_.size())) {
 		return iobs_[idx];
diff --git a/libcorpus2/ann/channel.h b/libcorpus2/ann/channel.h
index d4b02bcfe7a015c98ead04a1ce57e19966268830..204ee2c9c4a7fad62f63dc22ae126666f5d7a36d 100644
--- a/libcorpus2/ann/channel.h
+++ b/libcorpus2/ann/channel.h
@@ -130,7 +130,7 @@ public:
 	/**
 	 * IOB getter, returns IOB::O if idx is out of range.
 	 */
-	IOB::Enum get_iob_at(int idx);
+	IOB::Enum get_iob_at(int idx) const;
 
 	/**
 	 * IOB setter, out of range indices are not processed.