diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index be6acf3c3508c28e8a08a2dcc2ee2ec098418360..38c1349067fce68dc3dc0311dc621bd0e383d4b0 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -3314,6 +3314,20 @@ class Container(list):
 
                 if hasattr(prop, 'id'):
                     is_property.add(prop.id)
+            if isinstance(container_item, Property):
+                dtype = container_item.datatype
+                if isinstance(dtype, Entity):
+                    is_being_referenced.add(dtype.id)
+                elif isinstance(dtype, str):
+                    if is_list_datatype(dtype):
+                        dtype = get_list_datatype(dtype)
+                    try:
+                        is_being_referenced.add(container.get_entity_by_name(dtype).id)
+                    except KeyError:
+                        pass
+                else:
+                    # plain old scalar datatype
+                    pass
 
         dependent_parents = item_id.intersection(is_parent)
         dependent_properties = item_id.intersection(is_property)
diff --git a/unittests/test_container.py b/unittests/test_container.py
index 5833fb3f53da613cda482de08be6b582ffe7c287..4cd8fefcaefee9fe6fdc5857805353227b493dfb 100644
--- a/unittests/test_container.py
+++ b/unittests/test_container.py
@@ -146,7 +146,6 @@ def test_container_dependencies_for_deletion_with_lists():
     assert db.Container._find_dependencies_in_container(container) == {2001}
 
 
-# @pytest.mark.xfail
 def test_container_deletion_with_references():
     """Test if dependencies are checked correctly.
     """
@@ -154,13 +153,28 @@ def test_container_deletion_with_references():
     RT1 = db.RecordType(name="RT1")
     RT2 = db.RecordType(name="RT2").add_property(name="prop2", datatype=RT1)
     RT3 = db.RecordType(name="RT3").add_property(name="prop3", datatype="LIST<RT1>")
+    prop4a = db.Property(name="prop4a", datatype=RT1)
+    prop4b = db.Property(name="prop4b", datatype="RT1")
+    prop5 = db.Property(name="prop5", datatype="LIST<RT1>")
     cont12 = db.Container().extend([RT1, RT2])
     cont13 = db.Container().extend([RT1, RT3])
+    cont14a = db.Container().extend([RT1, prop4a])
+    cont14b = db.Container().extend([RT1, prop4b])
+    cont15 = db.Container().extend([RT1, prop5])
     cont12.to_xml()
     cont13.to_xml()
+    cont14a.to_xml()
+    cont14b.to_xml()
+    cont15.to_xml()
 
     deps12 = db.Container._find_dependencies_in_container(cont12)
     deps13 = db.Container._find_dependencies_in_container(cont13)
+    deps14a = db.Container._find_dependencies_in_container(cont14a)
+    deps14b = db.Container._find_dependencies_in_container(cont14b)
+    deps15 = db.Container._find_dependencies_in_container(cont15)
 
     assert len(deps12) == 1 and deps12.pop() == -1
     assert len(deps13) == 1 and deps13.pop() == -1
+    assert len(deps14a) == 1 and deps14a.pop() == -1
+    assert len(deps14b) == 1 and deps14b.pop() == -1
+    assert len(deps15) == 1 and deps15.pop() == -1