diff --git a/libcorpus2/token.h b/libcorpus2/token.h
index 4ab4272f1db8df09569d06ef8cfd12fc19eb100a..5c992a5ed9ea6e7a9c4988cd6596d1f9e9cd1a77 100644
--- a/libcorpus2/token.h
+++ b/libcorpus2/token.h
@@ -115,6 +115,11 @@ public:
 		lexemes_.push_back(lex);
 	}
 
+	/// Leaves a faulty token with no lexemes (use with care!)
+	void remove_all_lexemes() {
+		lexemes_.clear();
+	}
+
 	/// Replaces all the lexemes with the given vector
 	void replace_lexemes(const std::vector<Lexeme>& new_lexemes) {
 		lexemes_ = new_lexemes;
diff --git a/swig/token.i b/swig/token.i
index e90abc86b9462728d206750733f23a9259085ad8..c5f803ab649c1f5e414cbb39cd421da7f23b2fa2 100644
--- a/swig/token.i
+++ b/swig/token.i
@@ -50,6 +50,8 @@ namespace Corpus2 {
 
     void add_lexeme(const Lexeme& lex);
 
+    void remove_all_lexemes();
+
     const Lexeme& get_preferred_lexeme(const Tagset& tagset) const;
     size_t get_preferred_lexeme_index(const Tagset& tagset) const;