diff --git a/sites/all/modules/context/context.core.inc b/sites/all/modules/context/context.core.inc
index 9e77db1..dae9f9c 100644
--- a/sites/all/modules/context/context.core.inc
+++ b/sites/all/modules/context/context.core.inc
@@ -132,6 +132,26 @@ function context_form_alter(&$form, $form_state, $form_id) {
       $plugin->rebuild_needed(TRUE);
     }
   }
+  //Add override option to block admin forms
+  if ($form_id == 'block_admin_configure') {
+    $block = new stdClass();
+    $block->module = $form['module']['#value'];
+    $block->delta = $form['delta']['#value'];
+    $override_block = _context_block_override_get_block($block);
+    $form['settings']['context_block_ignore'] = array(
+      '#type' => 'fieldset',
+      '#title' => t('Context Override'),
+      '#collapsible' => TRUE,
+      '#weight' => 0,
+    );
+    $form['settings']['context_block_ignore']['override_block'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Override Block'),
+      '#description' => t('Allow context settings to override any settings on this block'),
+      '#default_value' => $override_block,
+    );
+    $form['#submit'][] = 'context_block_override_form_submit';
+  }
 }
 
 /**
@@ -336,4 +356,83 @@ function context_preprocess_html(&$vars) {
   if ($plugin = context_get_plugin('reaction', 'theme')) {
     $plugin->execute($vars);
   }
+}
+
+/**
+ * Context Block Override functions
+ *
+ * TODO: Determine if these should be modularized.
+ */
+
+/**
+ * Implements of hook_submit()
+*/
+function context_block_override_form_submit($form, &$form_state) {
+	$block = new stdClass();
+  $block->module = $form['module']['#value'];
+  $block->delta = $form['delta']['#value'];
+  $override = $form_state['values']['override_block'];
+  _context_block_override_save($block,$override);
+}
+
+/**
+ * Hook for saving block override data
+ * $param $block
+ *     Obj. representing a block ($b->module, $b->delta)
+ */
+function _context_block_override_save($block, $value) {
+  if (!isset($block->module) && !isset($block->delta)) {
+    return FALSE;
+  }
+  //Storing all overrides as a config variable is a temporary hack.
+  //Will use db if module proof of concept works
+  $varname = 'context_block_override';
+  $overrides = variable_get($varname, array());
+  $type = 'context';
+  if($value == 1) {
+    $message = "Block module: " . $block->module . ', delta: ' . $block->delta . ', has been overriden.';
+    $add = TRUE; 
+    $data = array(
+      'override' => 1,
+      'module' => $block->module,
+      'delta' => $block->delta,
+    );
+    foreach($overrides as $idx => $o) {
+      if(isset($o['module']) && isset($o['delta']) && $o['module'] == $block->module && $o['delta'] == $block->delta) {
+        $add = FALSE;
+      }
+    }
+    $overrides[] = $data;
+    $result = ($add) ? variable_set($varname,$overrides) : FALSE ;
+  }
+  else {
+    $message = "Block module: " . $block->module . ', delta: ' . $block->delta . ', overriding has been removed.';
+    foreach($overrides as $idx => $o) {
+      if($o['module'] == $block->module && $o['delta'] == $block->delta) {
+        unset($overrides[$idx]);
+      }
+      $result = variable_set($varname, $overrides);
+    }
+  }
+  watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL);
+  return $result;
+}
+
+/**
+ * Hook for retrieving data about a block
+ * @param $block
+ *     Obj. representing a block ($b->module, $b->delta)
+ */
+function _context_block_override_get_block($block) {
+   if (!isset($block->module) && !isset($block->delta)) {
+    return FALSE;
+  }
+  $varname = 'context_block_override';
+  $overrides = variable_get($varname, array());
+  foreach($overrides as $o) {
+    if(isset($o['module']) && isset($o['delta']) && $o['module'] == $block->module && $o['delta'] == $block->delta) {
+      return 1;
+    }
+  }
+  return 0;
 }
\ No newline at end of file
diff --git a/sites/all/modules/context/plugins/context_reaction_block.inc b/sites/all/modules/context/plugins/context_reaction_block.inc
index d52c2ef..ff8fb4d 100644
--- a/sites/all/modules/context/plugins/context_reaction_block.inc
+++ b/sites/all/modules/context/plugins/context_reaction_block.inc
@@ -217,9 +217,18 @@ class context_reaction_block extends context_reaction {
     $all_regions = system_region_list($theme);
 
     // Load all region content assigned via blocks.
+    //
+    // This includes a patch that allows context to override default block settings (assigned via block core)
     foreach (array_keys($all_regions) as $region) {
       if ($this->is_enabled_region($region)) {
-        $page[$region] = isset($page[$region]) ? array_merge($page[$region], $this->block_get_blocks_by_region($region)) : $this->block_get_blocks_by_region($region);
+        $this_regions = isset($page[$region]) ? $this->block_get_blocks_by_region($region) : array();
+        foreach($this_regions as $this_key => $this_reg) {
+          $override = (isset($this_reg['#block']) && _context_block_override_get_block($this_reg['#block'])) ? $this_key : false;
+          if($override) {
+            unset($page[$region][$this_key]);            
+          }
+        }
+        $page[$region] = isset($page[$region]) ? array_merge($page[$region], $this_regions) : $this_regions;
       }
     }
   }
