diff --git a/Solr_Base_Query.php b/Solr_Base_Query.php
index 644d520..288cff5 100644
--- a/Solr_Base_Query.php
+++ b/Solr_Base_Query.php
@@ -172,11 +172,12 @@ class SolrFilterSubQuery {
         return FALSE;
       }
 
-      // For the value we any character that fits between the A-Z0-9 range and
+      // For the value we allow any character that fits between the A-Z0-9 range and
       // any alternative for this in other languages.
-      if (preg_match('/^[a-zA-Z0-9_\x7f-\xff]+$/', $value)) {
+      if (!preg_match('/^[a-zA-Z0-9_\x7f-\xff]+$/', $value)) {
         return FALSE;
       }
+      
       // Check our bracket count. If it does not match it is also not valid
       $valid_brackets = TRUE;
       $brackets['opening']['{'] = substr_count($value, '{');
diff --git a/apachesolr_search.admin.inc b/apachesolr_search.admin.inc
index 617d9ba..396608c 100644
--- a/apachesolr_search.admin.inc
+++ b/apachesolr_search.admin.inc
@@ -357,6 +357,15 @@ function apachesolr_search_page_settings_form($form, &$form_state, $search_page
     '#default_value' => $default_value,
   );
 
+  // Enable/disable search form on search page (replaced by a block perhaps)
+  $default_value = isset($search_page->settings['apachesolr_search_allow_user_input']) ? $search_page->settings['apachesolr_search_allow_user_input'] : FALSE;
+  $form['advanced']['apachesolr_search_allow_user_input'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Allow user input using the URL'),
+    '#description' => t('Allow users to use the URL (mysite.com?q=test&fq=userinput) for manual facetting. This will only work after a search term is searched. Recommended is to leave this unchecked'),
+    '#default_value' => $default_value,
+  );
+
   // Use the main search page setting as the default for new pages.
   $default_value = isset($search_page->settings['apachesolr_search_browse']) ? $search_page->settings['apachesolr_search_browse'] : 'browse';
   $form['advanced']['apachesolr_search_browse'] = _apachesolr_search_browse_form($default_value);
@@ -455,6 +464,7 @@ function apachesolr_search_page_settings_form_submit($form, &$form_state) {
   $settings['apachesolr_search_per_page'] = $form_state['values']['apachesolr_search_per_page'];
   $settings['apachesolr_search_browse'] = $form_state['values']['apachesolr_search_browse'];
   $settings['apachesolr_search_spellcheck'] = $form_state['values']['apachesolr_search_spellcheck'];
+  $settings['apachesolr_search_allow_user_input'] = $form_state['values']['apachesolr_search_allow_user_input'];
 
   if (isset($form_state['values']['search_page']->settings)) {
     $settings = array_merge($form_state['values']['search_page']->settings, $settings);
diff --git a/apachesolr_search.module b/apachesolr_search.module
index 89b3272..3dd46bc 100644
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -799,25 +799,27 @@ function apachesolr_search_search_results($keys = NULL, $conditions = NULL, $sea
 function apachesolr_search_conditions_default($search_page) {
   $conditions = array();
   $search_type = isset($search_page->settings['apachesolr_search_search_type']) ? $search_page->settings['apachesolr_search_search_type'] : '';
+  $allow_user_input = isset($search_page->settings['apachesolr_search_allow_user_input']) ? $search_page->settings['apachesolr_search_allow_user_input'] : FALSE;
   $path_replacer = isset($search_page->settings['apachesolr_search_path_replacer']) ? $search_page->settings['apachesolr_search_path_replacer'] : '';
   $search_page_fq = !empty($search_page->settings['fq']) ? $search_page->settings['fq'] : '';
 
   $conditions['fq'] = array();
-  // Get the filterQueries from the url
-  if (!empty($_GET['fq']) && is_array($_GET['fq'])) {
-    // Reset the array so that we have one level lower to go through
-    $conditions['fq'] = $_GET['fq'];
-  }
-  foreach($conditions['fq'] as $condition_id => $condition) {
-    // If the user input does not pass our validation we do not allow
-    // it to query solr
-    if (!SolrBaseQuery::validFilterValue($condition)) {
-      unset($conditions['fq'][$condition_id]);
+  // We only allow this to happen if the search page explicitely allows it
+  if ($allow_user_input) {
+    // Get the filterQueries from the url
+    if (!empty($_GET['fq']) && is_array($_GET['fq'])) {
+      // Reset the array so that we have one level lower to go through
+      $conditions['fq'] = $_GET['fq'];
+    }
+    foreach($conditions['fq'] as $condition_id => $condition) {
+      // If the user input does not pass our validation we do not allow
+      // it to query solr
+      if (!SolrBaseQuery::validFilterValue($condition)) {
+        unset($conditions['fq'][$condition_id]);
+      }
     }
   }
 
-  // Add validation for user input
-  //
   // Custom filters added in search pages
   if (!empty($search_page_fq)) {
     if (!empty($path_replacer)) {
