diff --git a/include/class.ticket.php b/include/class.ticket.php
index 4cd3a127e3226adc9318929ab108f59daeb00a72..d4d92e2ca77fb22aa1c3da3cafeb985e241ef487 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -2036,7 +2036,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';
@@ -2055,14 +2056,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;