diff --git a/CHANGELOG.md b/CHANGELOG.md
index e3de2cbf85eaede8621f616d3d6d878acce0275b..ed32d4bd041369b94292b6cfd6815f9b6e18c694 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -41,6 +41,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 * Test for [caosdb-server#136](https://gitlab.com/caosdb/caosdb-server/-/issues/136)
 * Test for [caosdb-server#141](https://gitlab.com/caosdb/caosdb-server/-/issues/141)
 * Test for [caosdb-server#145](https://gitlab.com/caosdb/caosdb-server/-/issues/145)
+* Tests for [caosdb-pylib#90](https://gitlab.com/caosdb/caosdb-pylib/-/issues/90): `Entity.get_parents_recursively()` did not work for unretrieved
+  parents.
 
 ### Changed (for changes in existing functionality)
 
diff --git a/README.md b/README.md
index 0e37866c8c402e1ae3a5b20a4601202692ec5e58..459755632c7fa75caa08f627ce21f26ac49d4f17 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,9 @@ CaosDB project.
   - Server-side scripting paths must be given, otherwise server-side scripting will be omitted.
 - Run the tests with `pytest` or `pytest-3` (depending on your system).
 - If you want to run just a single test, you can also select a single test file:  
-  `pytest-3 tests/test_issues.py`
+  `pytest-3 tests/test_issues.py`  
+  or a test matching a regular expression:  
+  `pytest-3 tests/test_issues.py -k issue_123`
 
 ## Requirements ##
 
diff --git a/tests/test_recursive_parents.py b/tests/test_recursive_parents.py
index 76178cee37db9ebeb2d249837bdfde80baa58141..c262e7ceef1e777e91dc6c88601b74f06590a999 100644
--- a/tests/test_recursive_parents.py
+++ b/tests/test_recursive_parents.py
@@ -48,7 +48,26 @@ def teardown_function(function):
     setup_module()
 
 
-@pytest.mark.xfail(reason="To be fixed in server and/or pylib")
+def test_get_parents_recursively():
+    """Test for https://gitlab.com/caosdb/caosdb-pylib/-/issues/90
+
+> Entity.get_parents_recursively() does not work unless the full ancestry has been retrieved from
+> the server.
+"""
+    # Setup
+    rt_A = db.RecordType(name="TestA")
+    rt_B = db.RecordType(name="TestB").add_parent(rt_A)
+    rt_C = db.RecordType(name="TestC").add_parent(rt_B)
+    db.Container().extend([rt_A, rt_B, rt_C]).insert()
+
+    # Retrieve only C
+    retrieved_C = db.RecordType(name="TestC").retrieve()
+    parents = retrieved_C.get_parents_recursively(retrieve=True)
+    assert len(parents) == 2
+    assert "TestB" in [p.name for p in parents]
+    assert "TestA" in [p.name for p in parents]
+
+
 def test_recursive_parents():
     # inheritance structure:
     #    A
@@ -66,29 +85,31 @@ def test_recursive_parents():
 
     parents = C.get_parents_recursively()
     assert len(parents) == 3
-    assert A in parents
-    assert B in parents
-    assert B2 in parents
+    parent_identifiers = [(all_p.id, all_p.name) for all_p in parents]
+    assert (A.id, A.name) in parent_identifiers
+    assert (B.id, B.name) in parent_identifiers
+    assert (B2.id, B2.name) in parent_identifiers
 
     parents = c.get_parents_recursively()
     assert len(parents) == 4
-    assert A in parents
-    assert B in parents
-    assert B2 in parents
-    assert C in parents
+    parent_identifiers = [(all_p.id, all_p.name) for all_p in parents]
+    assert (A.id, A.name) in parent_identifiers
+    assert (B.id, B.name) in parent_identifiers
+    assert (B2.id, B2.name) in parent_identifiers
+    assert (C.id, C.name) in parent_identifiers
 
     # Now do a time travel and great-grand-parentize yourself...
     A.add_parent(C).update()
 
     parents = C.get_parents_recursively()
     assert len(parents) == 4
-    assert A in parents
-    assert B in parents
-    assert B2 in parents
-    assert C in parents
+    parent_identifiers = [(all_p.id, all_p.name) for all_p in parents]
+    assert (A.id, A.name) in parent_identifiers
+    assert (B.id, B.name) in parent_identifiers
+    assert (B2.id, B2.name) in parent_identifiers
+    assert (C.id, C.name) in parent_identifiers
 
 
-@pytest.mark.xfail(reason="To be fixed in server and/or pylib")
 def test_entity_has_parent():
     # inheritance structure:
     #    A
@@ -137,8 +158,8 @@ def test_entity_has_parent():
     assert not c.has_parent(fake_C_id, check_name=False,
                             check_id=True)
 
-    fake_B_name_id = RecordType(name="TestTypeB", id=B.id)
-    fake_C_name_id = RecordType(name="not C", id=C.id * 5)
+    fake_B_name_id = db.RecordType(name="TestTypeB", id=B.id)
+    fake_C_name_id = db.RecordType(name="not C", id=C.id * 5)
 
     assert c.has_parent(fake_B_name_id, check_name=True,
                         check_id=True)