diff --git a/node_level_blocks.admin.inc b/node_level_blocks.admin.inc
index cfb1176..254376b 100644
--- a/node_level_blocks.admin.inc
+++ b/node_level_blocks.admin.inc
@@ -89,6 +89,10 @@ function node_level_blocks_fieldset_node_edit_form(&$form, &$form_state) {
   // set default theme for retrieving regions and blocks
   $theme_key = variable_get('theme_default', 'garland');  
 
+  // Set default values.
+  $settings = isset($form['#node']->node_level_blocks['settings']) ? $form['#node']->node_level_blocks['settings'] : node_level_blocks_node_type_settings($form['#node']->type);
+  $node_blocks = isset($form['#node']->node_level_blocks['blocks']) ? $form['#node']->node_level_blocks['blocks'] : array();
+
   // If a node is submitted with the 'preview' button,
   // the data can be collected using the form state.
   // Othewise the stored nodes, or default values can be used.
@@ -100,10 +104,6 @@ function node_level_blocks_fieldset_node_edit_form(&$form, &$form_state) {
       $node_blocks[$node_block['bid']] = (object) $node_block;
     }
   }
-  else {
-    $settings = $form['#node']->node_level_blocks['settings'];
-    $node_blocks = $form['#node']->node_level_blocks['blocks'];
-  }
 
   // Fetch and sort blocks
   $blocks = _block_rehash();
