diff --git a/features_override.export.inc b/features_override.export.inc
index 99743b4..3f85320 100644
--- a/features_override.export.inc
+++ b/features_override.export.inc
@@ -249,35 +249,36 @@ function _features_override_sanitize(&$array) {
  *   The keys for this level.
  */
 function _features_override_set_additions(&$default, &$normal, &$additions, $ignore_keys = array(), $level = 0, $keys = array()) {
-  $object = is_object($normal);
-  foreach ($normal as $key => $value) {
-    if (isset($ignore_keys[$key]) && ($level == $ignore_keys[$key])) {
-      continue;
-    }
-    if ($object) {
-      if (!is_object($default) || !property_exists($default, $key) || (is_scalar($value) && ($default->$key !== $value))) {
-        $_keys = array_merge($keys, array(array('type' => 'object', 'key' => $key)));
-        $additions[features_override_make_key($_keys)] = array(
-          'keys' => $_keys,
-          'value' => $value,
-          'original' => (is_scalar($value) && isset($default->$key)) ? $default->$key : '',
-        );
-      }
-      elseif (property_exists($default, $key) && ($default->$key !== $value)) {
-        _features_override_set_additions($default->$key, $value, $additions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'object', 'key' => $key))));
+  if (is_object($normal) || is_array($normal)) {
+    foreach ($normal as $key => $value) {
+      if (isset($ignore_keys[$key]) && ($level == $ignore_keys[$key])) {
+        continue;
       }
-    }
-    elseif (is_array($normal)) {
-      if (!is_array($default) || !array_key_exists($key, $default) || (is_scalar($value) && ($default[$key] !== $value))) {
-        $_keys = array_merge($keys, array(array('type' => 'array', 'key' => $key)));
-        $additions[features_override_make_key($_keys)] = array(
-          'keys' => $_keys,
-          'value' => $value,
-          'original' => (is_scalar($value) && isset($default[$key])) ? $default[$key] : '',
-        );
+      if (is_object($normal)) {
+        if (!is_object($default) || !property_exists($default, $key) || (is_scalar($value) && ($default->$key !== $value))) {
+          $_keys = array_merge($keys, array(array('type' => 'object', 'key' => $key)));
+          $additions[features_override_make_key($_keys)] = array(
+            'keys' => $_keys,
+            'value' => $value,
+            'original' => (is_scalar($value) && isset($default->$key)) ? $default->$key : '',
+          );
+        }
+        elseif (property_exists($default, $key) && ($default->$key !== $value)) {
+          _features_override_set_additions($default->$key, $value, $additions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'object', 'key' => $key))));
+        }
       }
-      elseif (array_key_exists($key, $default) && (!is_null($value) && ($default[$key] !== $value))) {
-        _features_override_set_additions($default[$key], $value, $additions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'array', 'key' => $key))));
+      elseif (is_array($normal)) {
+        if (!is_array($default) || !array_key_exists($key, $default) || (is_scalar($value) && ($default[$key] !== $value))) {
+          $_keys = array_merge($keys, array(array('type' => 'array', 'key' => $key)));
+          $additions[features_override_make_key($_keys)] = array(
+            'keys' => $_keys,
+            'value' => $value,
+            'original' => (is_scalar($value) && isset($default[$key])) ? $default[$key] : '',
+          );
+        }
+        elseif (array_key_exists($key, $default) && (!is_null($value) && ($default[$key] !== $value))) {
+          _features_override_set_additions($default[$key], $value, $additions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'array', 'key' => $key))));
+        }
       }
     }
   }
@@ -300,33 +301,33 @@ function _features_override_set_additions(&$default, &$normal, &$additions, $ign
  *   The keys for this level.
  */
 function _features_override_set_deletions(&$default, &$normal, &$deletions, $ignore_keys = array(), $level = 0, $keys = array()) {
-  $object = is_object($default);
-
-  foreach ($default as $key => $value) {
-    if (isset($ignore_keys[$key]) && ($level == $ignore_keys[$key])) {
-      continue;
-    }
-
-    if ($object) {
-      if (!property_exists($normal, $key)) {
-        $_keys = array_merge($keys, array(array('type' => 'object', 'key' => $key)));
-        $deletions[features_override_make_key($_keys)] = array(
-          'keys' => $_keys,
-        );
-      }
-      elseif (property_exists($normal, $key) && (is_array($value) || is_object($value))) {
-        _features_override_set_deletions($value, $normal->$key, $deletions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'object', 'key' => $key))));
+  if (is_object($default) || is_array($default)) {
+    foreach ($default as $key => $value) {
+      if (isset($ignore_keys[$key]) && ($level == $ignore_keys[$key])) {
+        continue;
       }
-    }
-    else {
-      if (!array_key_exists($key, $normal)) {
-        $_keys = array_merge($keys, array(array('type' => 'array', 'key' => $key)));
-        $deletions[features_override_make_key($_keys)] = array(
-          'keys' => $_keys,
-        );
+  
+      if (is_object($default) && is_object($normal)) {
+        if (!property_exists($normal, $key)) {
+          $_keys = array_merge($keys, array(array('type' => 'object', 'key' => $key)));
+          $deletions[features_override_make_key($_keys)] = array(
+            'keys' => $_keys,
+          );
+        }
+        elseif (property_exists($normal, $key) && (is_array($value) || is_object($value))) {
+          _features_override_set_deletions($value, $normal->$key, $deletions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'object', 'key' => $key))));
+        }
       }
-      elseif (array_key_exists($key, $normal) && (is_array($value) || is_object($value))) {
-        _features_override_set_deletions($value, $normal[$key], $deletions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'array', 'key' => $key))));
+      elseif (is_array($default) && is_array($normal)) {
+        if (!array_key_exists($key, $normal)) {
+          $_keys = array_merge($keys, array(array('type' => 'array', 'key' => $key)));
+          $deletions[features_override_make_key($_keys)] = array(
+            'keys' => $_keys,
+          );
+        }
+        elseif (array_key_exists($key, $normal) && (is_array($value) || is_object($value))) {
+          _features_override_set_deletions($value, $normal[$key], $deletions, $ignore_keys, $level+1, array_merge($keys, array(array('type' => 'array', 'key' => $key))));
+        }
       }
     }
   }
