diff --git a/lib/classes/forms/Form.php b/lib/classes/forms/Form.php
index 5e27895455fe6f4d93ba7dd7d91a64ae9d7fd434..4e384b11a6df29194c494018e40b5c808c8df74b 100644
--- a/lib/classes/forms/Form.php
+++ b/lib/classes/forms/Form.php
@@ -129,7 +129,11 @@ class Form extends Part
         }
         foreach ($params['fields'] as $fieldname => $fielddata) {
             if (is_array($fielddata) && !array_key_exists('value', $fielddata)) {
-                if ($object->isField($fieldname)) {
+                if (
+                    $object->isField($fieldname)
+                    || $object->isAdditionalField($fieldname)
+                    || $object->isAliasField($fieldname)
+                ) {
                     $params['fields'][$fieldname]['value'] = $object[$fieldname];
                 }
             }
@@ -412,7 +416,6 @@ class Form extends Part
             }
             $all_values[$input->getName()] = $value;
         }
-
         foreach ($this->parts as $part) {
             $context = $part->getContextObject();
             if ($context && method_exists($context, 'store')) {
@@ -514,7 +517,12 @@ class Form extends Part
         if (
             $context
             && is_subclass_of($context, \SimpleORMap::class)
-            && ($context->isField($input->getName()) || $context->isRelation($input->getName()))
+            && (
+                $context->isField($input->getName())
+                || $context->isAdditionalField($input->getName())
+                || $context->isAliasField($input->getName())
+                || $context->isRelation($input->getName())
+            )
         ) {
             return function ($value) use ($context, $input) {
                 if ($context && !$value && $value !== null) {