diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b9f7a0c0c0da499fb60547ee058156c4959999b..9e4d7301fbce387aa96fdeef759c75457422ce96 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -36,6 +36,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Fixed ###
 
+* handling of special attributes (name, id, ...) in `apiutils.empty_diff`
+
 ### Security ###
 
 ### Documentation ###
diff --git a/src/caosdb/apiutils.py b/src/caosdb/apiutils.py
index 0651e4930072242524dc955c6ae69ca70b5f877a..0862cf9f32575b9773bc16d845bb459d67b0140c 100644
--- a/src/caosdb/apiutils.py
+++ b/src/caosdb/apiutils.py
@@ -353,10 +353,14 @@ def empty_diff(old_entity: Entity, new_entity: Entity, compare_referenced_record
     olddiff, newdiff = compare_entities(
         old_entity, new_entity, compare_referenced_records)
     for diff in [olddiff, newdiff]:
-        for key in diff:
+        for key in ["parents", "properties"]:
             if len(diff[key]) > 0:
                 # There is a difference somewhere in the diff
                 return False
+        for key in SPECIAL_ATTRIBUTES:
+            if key in diff and diff[key]:
+                # There is a difference in at least one special attribute
+                return False
     # all elements of the two diffs were empty
     return True
 
diff --git a/unittests/test_apiutils.py b/unittests/test_apiutils.py
index 7b22d9956931fff4bded7f4eab813e9b91181997..f9de6d1a037667d0ead0f02439bde13ac4f14f60 100644
--- a/unittests/test_apiutils.py
+++ b/unittests/test_apiutils.py
@@ -466,6 +466,15 @@ def test_empty_diff():
     assert not empty_diff(rec_a, rec_b)
     assert empty_diff(rec_a, rec_b, compare_referenced_records=True)
 
+    # special case of ids
+    rec_a = db.Record(id=12)
+    rec_b = db.Record()
+    assert not empty_diff(rec_a, rec_b)
+    rec_b.id = 13
+    assert not empty_diff(rec_a, rec_b)
+    rec_b.id = 12
+    assert empty_diff(rec_a, rec_b)
+
 
 def test_force_merge():
     """Test whether a forced merge overwrites existing properties correctly."""