diff --git a/djaosdb/caosdb_client.py b/djaosdb/caosdb_client.py
index d8d38eba89d1d65ad0acdb4cd8b5b1aa47a63d6e..71f9a8fef81b2bc86af14d9ec010b7a63f51ff38 100644
--- a/djaosdb/caosdb_client.py
+++ b/djaosdb/caosdb_client.py
@@ -144,16 +144,16 @@ class DefaultCaosDBClientDelegate:
         if filter_type in ["reference", "back_reference"]:
             return self._get_reference_clause(**fil)
         if filter_type == "in":
-            p = fil["p"]
+            p = fil["p"] if fil["p"] == "id" else f'"{fil["p"]}"'
             values = fil["v"]
-            components = [f' "{p}" = ' + str(val) for val in values]
+            components = [f' {p} = ' + str(val) for val in values]
             return " OR".join(components)
         if filter_type == "pov":
             n = "NOT " if fil["negation"] is True else ""
-            p = fil["p"]
+            p = fil["p"] if fil["p"] == "id" else f'"{fil["p"]}"'
             o = fil["o"]
             v = fil["v"]
-            return f' {n}"{p}"{o}"{v}"'
+            return f' {n}{p}{o}"{v}"'
         raise NotImplementedError("_get_filter_clause(%s)", fil)
 
     def _find(self, record_type, *args, **kwargs):