diff --git a/tests/test_permissions.py b/tests/test_permissions.py
index 9df914a1de5adc925acd4083b31fb9264f9f65eb..170a25b8c63a34820c5ac2926bcdbe99d758fda0 100644
--- a/tests/test_permissions.py
+++ b/tests/test_permissions.py
@@ -1200,10 +1200,12 @@ def test_deny_update_role():
 
 @mark.xfail(reason="Fix insufficient permission checks of referenced entity names.")
 def test_query_with_invisible_reference():
-    """Names of references that are not visible to the test user should not be
-    usable as query filters.
-
     """
+    Names of references that are not visible to the test user should not be usable as query
+    filters.
+    """
+    db.administration.set_server_property(
+        "QUERY_FILTER_ENTITIES_WITHOUT_RETRIEVE_PERMISSIONS", "FALSE")
 
     rt = db.RecordType(name="TestRT").insert()
     rec_invisible = db.Record(name="TestInvisible").add_parent(rt).insert()
@@ -1258,14 +1260,15 @@ def test_select_query_with_invisible_reference():
     visible_rec.insert()
 
     # Everything is there when queried as admin
-    select_results = db.execute_query(
+    select_query = (
         f"SELECT name, {invisible_rt.name}, {invisible_rt.name}.name, "
         f"{invisible_rt.name}.{prop.name}, {invisible_rt.name}.{other_rt.name}, "
         f"{invisible_rt.name}.{other_rt.name}.name FROM {visible_rec.id}")
-    values = select_results.get_property_values(
-        "name", f"{invisible_rt.name}", (invisible_rt.name, "name"),
-        (invisible_rt.name, prop.name), (invisible_rt.name, other_rt.name),
-        (invisible_rt.name, other_rt.name, "name"))[0]
+    select_results = db.execute_query(select_query)
+    value_args = ["name", f"{invisible_rt.name}", (invisible_rt.name, "name"),
+                  (invisible_rt.name, prop.name), (invisible_rt.name, other_rt.name),
+                  (invisible_rt.name, other_rt.name, "name")]
+    values = select_results.get_property_values(*value_args)[0]
     assert values[0] == visible_rec.name
     assert values[1] == invisible_rec.id
     assert values[2] == invisible_rec.name
@@ -1280,14 +1283,8 @@ def test_select_query_with_invisible_reference():
 
     switch_to_test_user()
 
-    select_results = db.execute_query(
-        f"SELECT name, {invisible_rt.name}, {invisible_rt.name}.name, "
-        f"{invisible_rt.name}.{prop.name}, {invisible_rt.name}.{other_rt.name}, "
-        f"{invisible_rt.name}.{other_rt.name}.name FROM {visible_rec.id}")
-    values = select_results.get_property_values(
-        "name", f"{invisible_rt.name}", (invisible_rt.name, "name"),
-        (invisible_rt.name, prop.name), (invisible_rt.name, other_rt.name),
-        (invisible_rt.name, other_rt.name, "name"))[0]
+    select_results = db.execute_query(select_query)
+    values = select_results.get_property_values(*value_args)[0]
     assert values[0] == visible_rec.name
     assert values[1] == invisible_rec.id  # id is ok
     assert values[2] is None  # name isn't
@@ -1299,22 +1296,19 @@ def test_select_query_with_invisible_reference():
 
     switch_to_admin_user()
 
-    select_results = db.execute_query(
+    select_query = (
         f"SELECT {invisible_rt.name}.{visible_rt.name}, "
         f"{invisible_rt.name}.{visible_rt.name}.name FROM {visible_rec.id}")
-    values = select_results.get_property_values(
-        (invisible_rt.name, visible_rt.name),
-        (invisible_rt.name, visible_rt.name, "name"))[0]
+    value_args = [(invisible_rt.name, visible_rt.name),
+                  (invisible_rt.name, visible_rt.name, "name")]
+    select_results = db.execute_query(select_query)
+    values = select_results.get_property_values(*value_args)[0]
     assert values[0] == referenced_visible.id
     assert values[1] == referenced_visible.name
 
     switch_to_test_user()
 
-    select_results = db.execute_query(
-        f"SELECT {invisible_rt.name}.{visible_rt.name}, "
-        f"{invisible_rt.name}.{visible_rt.name}.name FROM {visible_rec.id}")
-    values = select_results.get_property_values(
-        (invisible_rt.name, visible_rt.name),
-        (invisible_rt.name, visible_rt.name, "name"))[0]
+    select_results = db.execute_query(select_query)
+    values = select_results.get_property_values(*value_args)[0]
     assert values[0] is None
     assert values[1] is None