diff --git a/dns/dns.config.inc b/dns/dns.config.inc
index 4da251a..5cbb0ae 100644
--- a/dns/dns.config.inc
+++ b/dns/dns.config.inc
@@ -132,7 +132,8 @@ class provisionConfig_dns_zone extends provisionConfig_dns {
     $this->data['dns_email'] = str_replace('@', '.', $this->data['server']->admin_email);
 
     // increment the serial.
-    $this->store->records['@']['SOA']['serial'] = $records['serial'] = provisionService_dns::increment_serial($records['@']['SOA']['serial']);
+    $serial = (isset($records['@']['SOA']['serial']) ? $records['@']['SOA']['serial'] : NULL);
+    $this->store->records['@']['SOA']['serial'] = $records['serial'] = provisionService_dns::increment_serial($serial);
 
     $this->data['records'] = $records;
   }
diff --git a/provision.service.inc b/provision.service.inc
index c122d04..83bd9be 100644
--- a/provision.service.inc
+++ b/provision.service.inc
@@ -95,6 +95,15 @@ class provisionService extends provisionChainedState {
   function config($config, $data = array()) {
     $this->_config = null;
     
+    if (!isset($this->configs[$config])) {
+      $service = (!is_null($this->application_name)) ? $this->application_name : $this->service;
+      drush_log(dt('%service has no %name config file', array(
+        '%service' => $service,
+        '%name' => $config))
+      );
+      return $this;
+    }
+
     if (!is_array($data) && is_string($data)) {
       $data = array('name' => $data);
     }
@@ -145,13 +154,18 @@ class provisionService extends provisionChainedState {
         }
         elseif (!is_numeric($arg1)) {
           if (is_array($arg2)) {
-            if (!is_array($this->_config->store->loaded_records[$arg1])) {
+            if (!isset($this->_config->store->loaded_records[$arg1])
+                || !is_array($this->_config->store->loaded_records[$arg1]))
+            {
               $this->_config->store->loaded_records[$arg1] = array();
             }
-            if (!is_array($this->_config->store->records[$arg1])) {
+            if (!isset($this->_config->store->records[$arg1])
+                || !is_array($this->_config->store->records[$arg1]))
+            {
               $this->_config->store->records[$arg1] = array();
             }
-            $this->_config->store->records[$arg1] = array_merge($this->_config->store->loaded_records[$arg1], $this->_config->store->records[$arg1], $arg2);
+            $this->_config->store->records[$arg1] = array_merge($this->_config->store->loaded_records[$arg1],
+                                                                $this->_config->store->records[$arg1], $arg2);
           } else {
             $this->_config->store->records[$arg1] = $arg2;
           }
