diff --git a/src/main/java/org/caosdb/server/transaction/WriteTransaction.java b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
index 334e408a82ddc343ed634979dc76e0b11f33a94b..3ce061210a75992ab402cb838df1e961d06ff4ca 100644
--- a/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
@@ -401,12 +401,13 @@ public class WriteTransaction extends Transaction<WritableContainer>
     }
 
     // entity role
-    if (!(newEntity instanceof Property && oldEntity instanceof Property)
-            && newEntity.hasRole()
+    if (newEntity.hasRole()
             && oldEntity.hasRole()
             && !newEntity.getRole().equals(oldEntity.getRole())
         || newEntity.hasRole() ^ oldEntity.hasRole()) {
-      needPermissions.add(EntityPermission.UPDATE_ROLE);
+      if (!(newEntity instanceof Property && oldEntity instanceof Property)) {
+        needPermissions.add(EntityPermission.UPDATE_ROLE);
+      }
       updatetable = true;
     }