diff --git a/include/class.ticket.php b/include/class.ticket.php
index d25b006a0e43be31867a45dca917ed21dfd627fa..8227d1142b1533cde82b53b28b522b67ba892e54 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -2285,11 +2285,15 @@ class Ticket {
             if (!in_array($form->getId(), $vars['forms']))
                 continue;
             $form->setSource($_POST);
-            if (!$form->isValidForStaff())
+            if (!$form->isValid(function($f) {
+                return $f->isVisibleToStaff() && $f->isEditableToStaff();
+            })) {
                 $errors = array_merge($errors, $form->errors());
+            }
         }
 
-        if($errors) return false;
+        if ($errors)
+            return false;
 
         $sql='UPDATE '.TICKET_TABLE.' SET updated=NOW() '
             .' ,topic_id='.db_input($vars['topicId'])