diff --git a/apachesolr_search.admin.inc b/apachesolr_search.admin.inc
index d52cf67..72871bf 100644
--- a/apachesolr_search.admin.inc
+++ b/apachesolr_search.admin.inc
@@ -159,7 +159,9 @@ function apachesolr_search_page_settings_form($form, &$form_state, $search_page
   $form['description_enable'] = array(
     '#type' => 'checkbox',
     '#title' => t('Description'),
+    '#default_value' => !empty($search_page->description)  ? TRUE : FALSE
   );
+
   $form['description'] = array(
     '#type' => 'textfield',
     '#title' => t('Provide description'),
@@ -241,7 +243,9 @@ function apachesolr_search_page_settings_form($form, &$form_state, $search_page
   $form['info']['custom_filter_enable'] = array(
     '#type' => 'checkbox',
     '#title' => t('Custom Filter'),
+    '#default_value' => !empty($search_page->settings['fq'])  ? TRUE : FALSE
   );
+
   $form['info']['filters'] = array(
     '#title' => t('Custom filters'),
     '#type' => 'textfield',
diff --git a/apachesolr_search.module b/apachesolr_search.module
index 84c588f..d8d10dd 100644
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -145,14 +145,15 @@ function apachesolr_search_menu_alter(&$items) {
     );
 
     // If title has a certain callback for the selected type we use it
-    if ((isset($search_types[$search_page->settings['apachesolr_search_search_type']]['title callback'])) && (NULL !== $position)) {
-      $title_callback = $search_types[$search_page->settings['apachesolr_search_search_type']]['title callback'];
-      $items[$search_page->search_path]['title callback'] = $title_callback;
-      $items[$search_page->search_path]['title arguments'] = array($search_page->page_id, $position);
-      $items[$search_page->search_path . '/%menu_tail']['title callback'] = $title_callback;
-      $items[$search_page->search_path . '/%menu_tail']['title arguments'] = array($search_page->page_id, $position);
+    if (!empty($search_page->settings['apachesolr_search_search_type']) && NULL !== $position) {
+      if (!empty($search_types[$search_page->settings['apachesolr_search_search_type']]['title callback'])) {
+        $title_callback = $search_types[$search_page->settings['apachesolr_search_search_type']]['title callback'];
+        $items[$search_page->search_path]['title callback'] = $title_callback;
+        $items[$search_page->search_path]['title arguments'] = array($search_page->page_id, $position);
+        $items[$search_page->search_path . '/%menu_tail']['title callback'] = $title_callback;
+        $items[$search_page->search_path . '/%menu_tail']['title arguments'] = array($search_page->page_id, $position);
+      }
     }
-
     if ($core_search) {
       $items[$search_page->search_path . '/%menu_tail']['tab_root'] = 'search/' . $default_info['path'] . '/%';
       $items[$search_page->search_path . '/%menu_tail']['tab_parent'] = 'search/' . $default_info['path'];
@@ -308,11 +309,7 @@ function apachesolr_search_conditions() {
     }
   }
   $search_page = apachesolr_search_page_load('core_search');
-  $empty_search_behavior = $search_page->settings['apachesolr_search_browse'];
-  if ($empty_search_behavior != 'none') {
-    // Set a condition so the search is triggered.
-    $conditions['apachesolr_search_browse'] = $empty_search_behavior;
-  }
+  $conditions = array_merge($conditions, $search_page->settings);
   return $conditions;
 }
 
diff --git a/apachesolr_search.pages.inc b/apachesolr_search.pages.inc
index db0b3c0..e764357 100644
--- a/apachesolr_search.pages.inc
+++ b/apachesolr_search.pages.inc
@@ -11,6 +11,10 @@
 function apachesolr_search_user_defined_search_page($page_id, $keys = '', $value) {
 
   $search_page = apachesolr_search_page_load($page_id);
+  if( empty($search_page)) {
+    drupal_set_message(t('This search page cannot be found'), 'error');
+    drupal_not_found();
+  }
   $search_type = $search_page->settings['apachesolr_search_search_type'];
   // Replace dynamic path with current path
   $search_page->search_path = str_replace('%', $value, $search_page->search_path);
