diff --git a/src/caoscrawler/identifiable_adapters.py b/src/caoscrawler/identifiable_adapters.py
index c410159de4364e9b0299a84a4cbc687f773d35c0..eb9333f73a79d5dd0dedc47b570b2934d4baf339 100644
--- a/src/caoscrawler/identifiable_adapters.py
+++ b/src/caoscrawler/identifiable_adapters.py
@@ -118,6 +118,10 @@ class IdentifiableAdapter(metaclass=ABCMeta):
                 query_string += " AND "
 
         query_string += IdentifiableAdapter.create_property_query(ident)
+        if query_string.endswith(" AND WITH "):
+            query_string = query_string[:-len(" AND WITH ")]
+        if query_string.endswith(" AND "):
+            query_string = query_string[:-len(" AND ")]
         return query_string
 
     @staticmethod
diff --git a/unittests/test_identifiable_adapters.py b/unittests/test_identifiable_adapters.py
index c3b44e1c8e3775fc6e8b7118b82ffa6a20bef484..894d476d628e9a05fbc6a4f7089404c886e01cbf 100644
--- a/unittests/test_identifiable_adapters.py
+++ b/unittests/test_identifiable_adapters.py
@@ -76,6 +76,16 @@ def test_create_query_for_identifiable():
         Identifiable(record_type="Person", backrefs=[], properties={'last_name': "B'Or"}))
     assert query == ("FIND RECORD Person WITH 'last_name'='B\\'Or' ")
 
+    # With only backref
+    query = IdentifiableAdapter.create_query_for_identifiable(
+        Identifiable(backrefs=[160], properties={}))
+    assert query == ("FIND RECORD  WHICH IS REFERENCED BY 160")
+
+    # With only backref and name
+    query = IdentifiableAdapter.create_query_for_identifiable(
+        Identifiable(backrefs=[160], name='lo', properties={}))
+    assert query == ("FIND RECORD  WHICH IS REFERENCED BY 160 AND WITH name='lo'")
+
 
 def test_load_from_yaml_file():
     ident = CaosDBIdentifiableAdapter()