diff --git a/tests/test_query.py b/tests/test_query.py
index 1a06c080b16fc63a5b1323ca8a6f0e7834c2648c..72fc01cca086fd6e107307c23956bf64ced85896 100644
--- a/tests/test_query.py
+++ b/tests/test_query.py
@@ -1453,3 +1453,18 @@ def test_greatest_smallest_id_over_roles():
 
     assert db.execute_query("FIND ENTITY WITH THE SMALLEST ID", unique=True).id == rt1.id
     assert db.execute_query("FIND ENTITY WITH THE GREATEST ID", unique=True).id == p2.id
+
+
+def test_find_id():
+    """See also: https://gitlab.indiscale.com/caosdb/src/caosdb-server/-/issues/323"""
+    rt1 = db.RecordType("TestRT1").insert()
+    rt2 = db.RecordType("TestRT2").insert()
+    rt3 = db.RecordType("TestRT3").add_parent("TestRT2").add_property("TestRT1").insert()
+
+    assert db.execute_query("FIND TestRT1", unique=True).id == rt1.id
+    assert db.execute_query(f"FIND {rt1.id}", unique=True).id == rt1.id
+    assert set([e.id for e in db.execute_query("FIND TestRT2")]) == set([rt2.id, rt3.id])
+    assert db.execute_query("FIND TestRT2 WITH TestRT1", unique=True).id == rt3.id
+    assert db.execute_query("FIND TestRT3 WITH TestRT1", unique=True).id == rt3.id
+    assert db.execute_query(f"FIND {rt2.id} WITH TestRT1", unique=True).id == rt3.id
+    assert db.execute_query(f"FIND {rt3.id} WITH TestRT1", unique=True).id == rt3.id