diff --git a/include/QueryGenerator/QueryGenerator.php b/include/QueryGenerator/QueryGenerator.php
index c548e93969e119863fd0b3a9c2d1a6de8d43d219..b66c6b24fb150388ca04d9d6c28f01f1f46d591b 100644
--- a/include/QueryGenerator/QueryGenerator.php
+++ b/include/QueryGenerator/QueryGenerator.php
@@ -1154,8 +1154,12 @@ class QueryGenerator {
 				$value = "'$value'";
 			}
 
-			if($this->isNumericType($field->getFieldDataType()) && empty($value)) {
-				$value = '0';
+			if($this->isNumericType($field->getFieldDataType())) {
+				if (empty($value)) {
+					$value = '0';
+				} else if (preg_match("/[^+\-0-9.]+/", $value)) {
+					$value = $db->quote($value);
+				}
 			}
 			$sql[] = "$sqlOperator $value";
 		}
@@ -1526,4 +1530,4 @@ class QueryGenerator {
 	}
 
 }
-?>
\ No newline at end of file
+?>