diff --git a/lib/classes/forms/Form.php b/lib/classes/forms/Form.php
index 0afe442b5364f210c8e9cec1af72104e3144f86d..e5c5b103bdafea8e75e4b4ab56a6315c1104fd35 100644
--- a/lib/classes/forms/Form.php
+++ b/lib/classes/forms/Form.php
@@ -417,7 +417,7 @@ class Form extends Part
         if (
             $context
             && is_subclass_of($context, \SimpleORMap::class)
-            && $context->isField($input->getName())
+            && ($context->isField($input->getName()) || $context->isRelation($input->getName()))
         ) {
             return function ($value) use ($context, $input) {
                 $context[$input->getName()] = $value;
diff --git a/lib/models/SimpleORMap.class.php b/lib/models/SimpleORMap.class.php
index 2187979190e177083c211df56bc74fd361ef842c..5c7e09592767e558d897241f9f1c0c740b932e33 100644
--- a/lib/models/SimpleORMap.class.php
+++ b/lib/models/SimpleORMap.class.php
@@ -1731,6 +1731,17 @@ class SimpleORMap implements ArrayAccess, Countable, IteratorAggregate
         return isset($this->db_fields()[$field]);
     }
 
+    /**
+     * check if given relation exists in this class
+     * @param string $field
+     * @return boolean
+     */
+    function isRelation($field)
+    {
+        $field = strtolower($field);
+        return array_key_exists($field, $this->relations);
+    }
+
     /**
      * check if given column is additional
      * @param string $field