diff --git a/src/song/Filter.cxx b/src/song/Filter.cxx
index 8f7dbb2c6..6cef1f8b0 100644
--- a/src/song/Filter.cxx
+++ b/src/song/Filter.cxx
@@ -304,7 +304,7 @@ ParseStringFilter(const char *&s, bool fold_case)
 	if (s[0] == '!' && s[1] == '=')
 		negated = true;
 	else if (s[0] != '=' || s[1] != '=')
-		throw std::runtime_error("'==' or '!=' expected");
+		throw FmtRuntimeError("Unknown filter operator: {}", s);
 
 	s = StripLeft(s + 2);
 	auto value = ExpectQuoted(s);