diff --git a/lib/controller/checks.py b/lib/controller/checks.py
index 98d3b7d2e..f82ab0583 100644
--- a/lib/controller/checks.py
+++ b/lib/controller/checks.py
@@ -257,7 +257,7 @@ def checkSqlInjection(place, parameter, value):
                 if where == 1:
                     origValue = value
                 elif where == 2:
-                    origValue = "-%s" % value
+                    origValue = "-%s" % randomInt()
                 elif where == 3:
                     origValue = ""
 
diff --git a/lib/core/agent.py b/lib/core/agent.py
index 72425aadf..f675465e3 100644
--- a/lib/core/agent.py
+++ b/lib/core/agent.py
@@ -83,7 +83,7 @@ class Agent:
                 if where == 1:
                     value = origValue
                 elif where == 2:
-                    value = "-%s" % origValue
+                    value = "-%s" % randomInt()
                 elif where == 3:
                     value = ""
             else:
@@ -155,10 +155,12 @@ class Agent:
         # payload, do not put a space after the prefix
         if kb.technique == 4:
             query = kb.injection.prefix
-        elif kb.technique and kb.technique in kb.injection.data:
+        elif (kb.technique and kb.technique in kb.injection.data) or \
+             (kb.injection.clause == [2, 3] or kb.injection.clause == [ 2 ]):
             where = kb.injection.data[kb.technique].where
 
-            if where == 3:
+            if where == 3 or (kb.injection.clause == [2, 3] or \
+               kb.injection.clause == [ 2 ]):
                 query = kb.injection.prefix
 
         if query is None: