diff --git a/include/class.config.php b/include/class.config.php
index ca426bd2c4661f8f417f961cbebc884f3d977cfd..ac60110e8f2ad06423f2fd551ac109247b8e425d 100644
--- a/include/class.config.php
+++ b/include/class.config.php
@@ -351,14 +351,13 @@ class OsticketConfig extends Config {
     function getDefaultEmail() {
 
         if(!$this->defaultEmail && $this->getDefaultEmailId())
-            $this->defaultEmail=Email::lookup($this->getDefaultEmailId());
+            $this->defaultEmail = Email::lookup($this->getDefaultEmailId());
 
         return $this->defaultEmail;
     }
 
     function getDefaultEmailAddress() {
-        $email=$this->getDefaultEmail();
-        return $email?$email->getAddress():null;
+        return ($email=$this->getDefaultEmail()) ? $email->getAddress() : null;
     }
 
     function getDefaultSLAId() {
@@ -368,7 +367,7 @@ class OsticketConfig extends Config {
     function getDefaultSLA() {
 
         if(!$this->defaultSLA && $this->getDefaultSLAId())
-            $this->defaultSLA=SLA::lookup($this->getDefaultSLAId());
+            $this->defaultSLA = SLA::lookup($this->getDefaultSLAId());
 
         return $this->defaultSLA;
     }
@@ -379,15 +378,18 @@ class OsticketConfig extends Config {
 
     function getAlertEmail() {
 
-        if(!$this->alertEmail && $this->get('alert_email_id'))
-            $this->alertEmail= new Email($this->get('alert_email_id'));
+        if(!$this->alertEmail)
+            if(!($this->alertEmail = Email::lookup($this->getAlertEmailId())))
+                $this->alertEmail = $this->getDefaultEmail();
+
         return $this->alertEmail;
     }
 
     function getDefaultSMTPEmail() {
 
         if(!$this->defaultSMTPEmail && $this->get('default_smtp_id'))
-            $this->defaultSMTPEmail= new Email($this->get('default_smtp_id'));
+            $this->defaultSMTPEmail = Email::lookup($this->get('default_smtp_id'));
+
         return $this->defaultSMTPEmail;
     }
 
diff --git a/include/class.dept.php b/include/class.dept.php
index 8f1542b737d631a07024a6303dd80516963c5f28..0822e056f1c9890e71694bfc0ee129fab7798b16 100644
--- a/include/class.dept.php
+++ b/include/class.dept.php
@@ -77,9 +77,11 @@ class Dept {
     }
 
     function getEmail() {
+        global $cfg;
 
-        if(!$this->email && $this->getEmailId())
-            $this->email=Email::lookup($this->getEmailId());
+        if(!$this->email)
+            if(!($this->email = Email::lookup($this->getEmailId())))
+                $this->email = $cfg->getDefaultEmail();
 
         return $this->email;
     }
@@ -138,19 +140,21 @@ class Dept {
     }
 
     function getTemplate() {
+        global $cfg;
 
-        if(!$this->template && $this->getTemplateId())
-            $this->template = EmailTemplateGroup::lookup($this->getTemplateId());
+        if (!$this->template) {
+            if (!($this->template = EmailTemplateGroup::lookup($this->getTemplateId())))
+                $this->template = $cfg->getDefaultTemplate();
+        }
 
         return $this->template;
     }
 
     function getAutoRespEmail() {
 
-        if(!$this->autorespEmail && $this->ht['autoresp_email_id'] && ($email=Email::lookup($this->ht['autoresp_email_id'])))
-            $this->autorespEmail=$email;
-        else // Defualt to dept email if autoresp is not specified or deleted.
-            $this->autorespEmail=$this->getEmail();
+        if (!$this->autorespEmail && $this->ht['autoresp_email_id'])
+            if (!($this->autorespEmail = Email::lookup($this->ht['autoresp_email_id'])))
+                $this->autorespEmail = $this->getEmail();
 
         return $this->autorespEmail;
     }