diff --git a/aleksis/core/mixins.py b/aleksis/core/mixins.py
index c9b2f694f1b2336173417823dcc635696efadbc9..dafa928a8a833ac9c9ce877da717a16ab5d42f36 100644
--- a/aleksis/core/mixins.py
+++ b/aleksis/core/mixins.py
@@ -107,6 +107,7 @@ class ExtensibleModel(models.Model):
             return self.crud_event_update.datetime
 
     extended_data = JSONField(default=dict, editable=False)
+    _extended_data_fields = []
 
     @property
     def created_by(self) -> Optional[models.Model]:
@@ -175,19 +176,25 @@ class ExtensibleModel(models.Model):
         field.json_field_name = "extended_data"
 
         cls._safe_add(field, name)
+        cls._extended_data_fields.append(field)
 
     @classmethod
     def syncable_fields(cls) -> List[models.Field]:
         """ Collect all fields that can be synced on a model """
 
-        return [field for field in cls._meta.fields if (
-            field.editable and not field.auto_created and not field.is_relation)]
+        return [
+            field
+            for field in cls._meta.fields + cls._extended_data_fields
+            if (field.editable and not field.auto_created and not field.is_relation)
+        ]
 
     @classmethod
     def syncable_fields_choices(cls) -> Tuple[Tuple[str, str]]:
         """ Collect all fields that can be synced on a model """
 
-        return tuple([(field.name, field.verbose_name) for field in cls.syncable_fields()])
+        return tuple(
+            [(field.name, field.verbose_name or field.name) for field in cls.syncable_fields()]
+        )
 
     class Meta:
         abstract = True