diff --git a/src/json.hpp b/src/json.hpp
index a428d6f8..db85a2cb 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -10116,7 +10116,7 @@ basic_json_parser_63:
                 json_pointer top_pointer = ptr.top();
                 if (top_pointer != ptr)
                 {
-                    basic_json& x = result.at(top_pointer);
+                    result.at(top_pointer);
                 }
 
                 // get reference to parent of JSON pointer ptr
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index e5688e3e..c7d27356 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -9413,7 +9413,7 @@ class basic_json
                 json_pointer top_pointer = ptr.top();
                 if (top_pointer != ptr)
                 {
-                    basic_json& x = result.at(top_pointer);
+                    result.at(top_pointer);
                 }
 
                 // get reference to parent of JSON pointer ptr
diff --git a/test/src/unit-regression.cpp b/test/src/unit-regression.cpp
index ed432e58..ee62db2b 100644
--- a/test/src/unit-regression.cpp
+++ b/test/src/unit-regression.cpp
@@ -443,6 +443,15 @@ TEST_CASE("regression tests")
         CHECK(at_integer == val_integer);
     }
 
+    SECTION("issue #304 - Unused variable warning")
+    {
+        // code triggered a "warning: unused variable" warning and is left
+        // here to avoid the warning in the future
+        json object;
+        json patch = json::array();
+        object = object.patch(patch);
+    }
+
     SECTION("issue #306 - Parsing fails without space at end of file")
     {
         for (auto filename :