diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/Solr/QueryBuilder.php b/module/VuFindSearch/src/VuFindSearch/Backend/Solr/QueryBuilder.php
index 92c4fa22fe97b8310e4b8b1278c8230af42bc698..0e22e4a8c874fe36ca72b6422ec55f7326c2460f 100644
--- a/module/VuFindSearch/src/VuFindSearch/Backend/Solr/QueryBuilder.php
+++ b/module/VuFindSearch/src/VuFindSearch/Backend/Solr/QueryBuilder.php
@@ -522,8 +522,8 @@ class QueryBuilder
         $input = preg_replace('/\s+-\s+' . $lookahead . '/', ' ', $input);
 
         // A proximity of 1 is illegal and meaningless -- remove it:
-        $input = preg_replace('/~1$/', '', $input);
-        $input = preg_replace('/~1\s+' . $lookahead . '/', ' ', $input);
+        $input = preg_replace('/~1(\.0*)?$/', '', $input);
+        $input = preg_replace('/~1(\.0*)?\s+' . $lookahead . '/', ' ', $input);
 
         // Remove empty parentheses outside of quotation marks -- these will
         // cause a fatal Solr error and should be ignored.
diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/QueryBuilderTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/QueryBuilderTest.php
index 1c409d0e9a80da30b6f043325beb164878f689b8..b4aa3d9046b973eee524428748165ebb3bbef174 100644
--- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/QueryBuilderTest.php
+++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/QueryBuilderTest.php
@@ -141,10 +141,15 @@ class QueryBuilderTest extends PHPUnit_Framework_TestCase
             array('title - sub', 'title sub'),      // freestanding hyphen
             array('"title - sub"', '"title - sub"'),// freestanding hyphen in quotes
             array('test~1', 'test'),                // meaningless proximity
+            array('test~1.', 'test'),               // meaningless proximity w/dec.
+            array('test~1.000', 'test'),            // meaningless proximity w/dec.
             array('test~1 fish', 'test fish'),      // meaningless proximity
+            array('test~1. fish', 'test fish'),     // meaningless proximity w/dec.
+            array('test~1.000 fish', 'test fish'),  // meaningless proximity w/dec.
             array('"test~1"', '"test~1"'),          // meaningless prox. in quotes
             array('test~0.9', 'test~0.9'),          // valid proximity
-            array('test~11', 'test~11'),            // illegal prox. (leave alone)
+            array('test~10', 'test~10'),            // illegal prox. (leave alone)
+            array('test~10 fish', 'test~10 fish'),  // illegal prox. (leave alone)
         );
         // @codingStandardsIgnoreEnd