diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php
index c2a149441c4ed8061189c23c2a9a71abc19b4ef0..7985e23a4a964bba77d1b37829bddc1be59a61d7 100644
--- a/include/class.dynamic_forms.php
+++ b/include/class.dynamic_forms.php
@@ -1079,6 +1079,14 @@ class DynamicFormEntry extends VerySimpleModel {
         return $this->_fields;
     }
 
+    function filterFields($filter) {
+        $this->getFields();
+        foreach ($this->_fields as $i=>$f) {
+            if ($filter($f))
+                unset($this->_fields[$i]);
+        }
+    }
+
     function getSource() {
         return $this->_source ?: (isset($this->id) ? false : $_POST);
     }
diff --git a/scp/tickets.php b/scp/tickets.php
index eea20e7a302f3e6cef23fcd5784d744e28ffd0c5..fadaf9730c037c6a04dbfe1c717f1f118e55981e 100644
--- a/scp/tickets.php
+++ b/scp/tickets.php
@@ -433,7 +433,10 @@ if($ticket) {
         $inc = 'ticket-edit.inc.php';
         if (!$forms) $forms=DynamicFormEntry::forTicket($ticket->getId());
         // Auto add new fields to the entries
-        foreach ($forms as $f) $f->addMissingFields();
+        foreach ($forms as $f) {
+            $f->filterFields(function($f) { return !$f->isStorable(); });
+            $f->addMissingFields();
+        }
     } elseif($_REQUEST['a'] == 'print' && !$ticket->pdfExport($_REQUEST['psize'], $_REQUEST['notes']))
         $errors['err'] = __('Internal error: Unable to export the ticket to PDF for print.');
 } else {
diff --git a/tickets.php b/tickets.php
index 070cb2567b350d42b3b7af1bbed54e543769b4ef..3467bc9ecf7d9f7e705caf97aaee615a61d3a12a 100644
--- a/tickets.php
+++ b/tickets.php
@@ -51,6 +51,7 @@ if ($_POST && is_object($ticket) && $ticket->getId()) {
             $forms=DynamicFormEntry::forTicket($ticket->getId());
             $changes = array();
             foreach ($forms as $form) {
+                $form->filterFields(function($f) { return !$f->isStorable(); });
                 $form->setSource($_POST);
                 if (!$form->isValid())
                     $errors = array_merge($errors, $form->errors());
@@ -120,7 +121,10 @@ if($ticket && $ticket->checkUserAccess($thisclient)) {
         $inc = 'edit.inc.php';
         if (!$forms) $forms=DynamicFormEntry::forTicket($ticket->getId());
         // Auto add new fields to the entries
-        foreach ($forms as $f) $f->addMissingFields();
+        foreach ($forms as $f) {
+            $f->filterFields(function($f) { return !$f->isStorable(); });
+            $f->addMissingFields();
+        }
     }
     else
         $inc='view.inc.php';