diff --git a/facetapi.admin.inc b/facetapi.admin.inc
index 8c8f915..2615a40 100644
--- a/facetapi.admin.inc
+++ b/facetapi.admin.inc
@@ -394,7 +394,7 @@ function facetapi_facet_settings_form($form, &$form_state, FacetapiAdapter $adap
     '#type' => 'radios',
     '#access' => $facet['facet missing allowed'] && $adapter->supportsFacetMissing(),
     '#title' => t('Add facet for missing values'),
-    '#default_value' => isset($global_settings->settings['facet_missing']) ? $global_settings->settings['facet_missing'] : 0,
+    '#default_value' => $global_settings->settings['facet_missing'],
     '#options' => array(0 => t('No'), 1 => t('Yes')),
     '#description' => t('Adds an extra facet matching documents with no value at all for this field.')
   );
diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc
index db829a6..33dfb3a 100644
--- a/plugins/facetapi/adapter.inc
+++ b/plugins/facetapi/adapter.inc
@@ -898,6 +898,13 @@ class FacetapiFacet implements ArrayAccess {
       // @todo Explore whether we should save settings for performance.
     }
 
+    // Ensures settings added in later versions of the module are initialized to
+    // prevent undefuned index errors after upgrading.
+    // @todo Remove in later versions.
+    if (!$realm) {
+      $settings->settings += array('facet_missing' => 0);
+    }
+
     return $settings;
   }
 
