diff --git a/include/class.ticket.php b/include/class.ticket.php
index 692c6e53ee0315691871461b499020baa1d1636c..9f6d8835084251e995dc374bf5ef2f4b8555e09e 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -2035,7 +2035,8 @@ class Ticket {
         // Intenal mapping magic...see if we need to override anything
         if(isset($vars['topicId']) && ($topic=Topic::lookup($vars['topicId']))) { //Ticket created via web by user/or staff
             $deptId=$deptId?$deptId:$topic->getDeptId();
-            if (!$form->getAnswer('priority')->getIdValue())
+            $priority = $form->getAnswer('priority');
+            if (!$priority || !$priority->getIdValue())
                 $form->setAnswer('priority', null, $topic->getPriorityId());
             if($autorespond) $autorespond=$topic->autoRespond();
             $source=$vars['source']?$vars['source']:'Web';
@@ -2054,14 +2055,16 @@ class Ticket {
 
         }elseif($vars['emailId'] && !$vars['deptId'] && ($email=Email::lookup($vars['emailId']))) { //Emailed Tickets
             $deptId=$email->getDeptId();
-            if (!$form->getAnswer('priority')->getIdValue())
+            $priority = $form->getAnswer('priority');
+            if (!$priority || !$priority->getIdValue())
                 $form->setAnswer('priority', null, $email->getPriorityId());
             if($autorespond) $autorespond=$email->autoRespond();
             $email=null;
             $source='Email';
         }
         //Last minute checks
-        if (!$form->getAnswer('priority')->getIdValue())
+        $priority = $form->getAnswer('priority');
+        if (!$priority || !$priority->getIdValue())
             $form->setAnswer('priority', null, $cfg->getDefaultPriorityId());
         $deptId=$deptId?$deptId:$cfg->getDefaultDeptId();
         $topicId=$vars['topicId']?$vars['topicId']:0;