diff --git a/libcorpus2/tagset.cpp b/libcorpus2/tagset.cpp
index 82dfd31707c074310b18cad05d239ab35ab3a4a8..51bce4ad8e99a1808be39acc282b27fcde6270de 100644
--- a/libcorpus2/tagset.cpp
+++ b/libcorpus2/tagset.cpp
@@ -354,7 +354,11 @@ mask_t Tagset::get_pos_mask(const string_range& pos) const
 
 mask_t Tagset::get_pos_mask(idx_t pos) const
 {
-	return 1 << pos;
+	if (pos >= 0) {
+		return 1 << pos;
+	} else {
+		return 0;
+	}
 }
 
 idx_t Tagset::get_attribute_index(const string_range& a) const