diff --git a/src/main/java/org/caosdb/server/transaction/WriteTransaction.java b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
index 7b9bc7495a67aa458ad40f25435cb0af7da290d7..3c4cf0f5ddb5ab2118f6bf2ae03bb9e99fb494ba 100644
--- a/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
@@ -399,6 +399,8 @@ public class WriteTransaction extends Transaction<WritableContainer>
         || newEntity.hasDatatype() ^ oldEntity.hasDatatype()) {
       needPermissions.add(EntityPermission.UPDATE_DATA_TYPE);
       updatetable = true;
+    } else {
+      newEntity.setDatatypeOverride(oldEntity.isDatatypeOverride());
     }
 
     // entity role
@@ -417,7 +419,7 @@ public class WriteTransaction extends Transaction<WritableContainer>
       try {
         newEntity.parseValue();
         oldEntity.parseValue();
-      } catch (Message m) {
+      } catch (NullPointerException|Message m) {
         // ignore, parsing is handled elsewhere
       }
       if (!newEntity.getValue().equals(oldEntity.getValue())) {
@@ -436,6 +438,8 @@ public class WriteTransaction extends Transaction<WritableContainer>
         || newEntity.hasName() ^ oldEntity.hasName()) {
       needPermissions.add(EntityPermission.UPDATE_NAME);
       updatetable = true;
+    } else {
+      newEntity.setNameOverride(oldEntity.isNameOverride());
     }
 
     // entity description
@@ -445,6 +449,8 @@ public class WriteTransaction extends Transaction<WritableContainer>
         || newEntity.hasDescription() ^ oldEntity.hasDescription()) {
       needPermissions.add(EntityPermission.UPDATE_DESCRIPTION);
       updatetable = true;
+    } else {
+      newEntity.setDescOverride(oldEntity.isDescOverride());
     }
 
     // file properties