diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php
index 15968a26dd360d505ee55bc62799454c620474bb..26e93d7fd776b82ebbe7ad93c238815ce2102c73 100644
--- a/include/class.dynamic_forms.php
+++ b/include/class.dynamic_forms.php
@@ -1032,9 +1032,9 @@ class DynamicFormEntry extends VerySimpleModel {
     static function create($ht=false, $data=null) {
         $inst = parent::create($ht);
         $inst->set('created', new SqlFunction('NOW'));
-        $form = $inst->getForm();
         if ($data)
-            $form->setSource($data);
+            $inst->setSource($data);
+        $form = $inst->getForm();
         foreach ($form->getFields() as $f) {
             if (!$f->hasData()) continue;
             $a = DynamicFormEntryAnswer::create(