diff --git a/tests/test_permissions.py b/tests/test_permissions.py
index d0a1a776d161cf2785cdc926e8d0254f4ad455d9..fafc70db1a8fb97c63c2ba875e08f7eeb6768afa 100644
--- a/tests/test_permissions.py
+++ b/tests/test_permissions.py
@@ -188,6 +188,33 @@ def test_basic_acl_stuff():
     assert_false("DELETE" in other_role_permissions)
 
 
+@mark.xfail(reason="fix needed: https://gitlab.com/linkahead/linkahead-server/-/issues/247")
+def test_server_issue_247():
+    db.administration.set_server_property(
+        "QUERY_FILTER_ENTITIES_WITHOUT_RETRIEVE_PERMISSIONS", "TRUE")
+    person = db.RecordType("TestPerson").insert()
+    db.Property("TestFirstName", datatype=db.TEXT).insert()
+    db.Property("TestConductor", datatype=person).insert()
+
+    dan = db.Record(
+        name="TestDaniel").add_property(
+        name="TestFirstName",
+        value="Daniel").add_parent(person).insert()
+    exp = db.RecordType(
+        name="TestExperiment").add_property(
+        name="TestConductor",
+        value=dan.id).insert()
+
+    grant_permission(person, "RETRIEVE:*")
+    grant_permission(exp, "RETRIEVE:*")
+    deny_permission(dan, "RETRIEVE:*")
+    switch_to_test_user()
+
+    assert db.execute_query(
+        "FIND ENTITY TestExperiment WHICH HAS A TestConductor=" + str(dan.id),
+        unique=True).id == exp.id
+
+
 def test_query():
     db.administration.set_server_property(
         "QUERY_FILTER_ENTITIES_WITHOUT_RETRIEVE_PERMISSIONS", "TRUE")