Index: queryparser/queryparser.lemony
===================================================================
--- queryparser/queryparser.lemony	(revision 11912)
+++ queryparser/queryparser.lemony	(working copy)
@@ -375,7 +375,7 @@
     // These characters generate a phrase search.
     // Ordered mostly by frequency of calls to this function done when
     // running queryparsertest.
-    return (ch && ch < 128 && strchr(".-/:\\@", ch) != NULL);
+    return (ch && ch < 128 && strchr("./:\\@", ch) != NULL);
 }
 
 inline bool
@@ -397,7 +397,7 @@
 }
 
 inline unsigned check_infix(unsigned ch) {
-    if (ch == '\'' || ch == '&' || ch == 0xb7 || ch == 0x5f4 || ch == 0x2027) {
+    if (ch == '\'' || ch == '&' || ch == '-' || ch == 0xb7 || ch == 0x5f4 || ch == 0x2027) {
 	// Unicode includes all these except '&' in it's word boundary rules,
 	// as well as 0x2019 (which we handle below) and ':' (for Swedish
 	// apparently, but we ignore this for now as it's problematic in
Index: queryparser/termgenerator_internal.cc
===================================================================
--- queryparser/termgenerator_internal.cc	(revision 11912)
+++ queryparser/termgenerator_internal.cc	(working copy)
@@ -66,7 +66,7 @@
 }
 
 inline unsigned check_infix(unsigned ch) {
-    if (ch == '\'' || ch == '&' || ch == 0xb7 || ch == 0x5f4 || ch == 0x2027) {
+    if (ch == '\'' || ch == '&' || ch == '-' || ch == 0xb7 || ch == 0x5f4 || ch == 0x2027) {
 	// Unicode includes all these except '&' in it's word boundary rules,
 	// as well as 0x2019 (which we handle below) and ':' (for Swedish
 	// apparently, but we ignore this for now as it's problematic in

