diff --git a/plugins/context_reaction_block.inc b/plugins/context_reaction_block.inc
index 52f9fe9..2f1ae04 100644
--- a/plugins/context_reaction_block.inc
+++ b/plugins/context_reaction_block.inc
@@ -336,13 +336,15 @@ class context_reaction_block extends context_reaction {
       foreach ($contexts as $context) {
         $options = $this->fetch_from_context($context);
         if (!empty($options['blocks'])) {
-          foreach ($options['blocks'] as $block) {
-            $block = (object) $block;
-            $block->context = $context->name;
-            $block->bid = "{$block->module}-{$block->delta}";
-            $block->title = isset($info[$block->bid]->title) ? $info[$block->bid]->title : NULL;
-            $block->cache = isset($info[$block->bid]->cache) ? $info[$block->bid]->cache : DRUPAL_NO_CACHE;
-            $context_blocks[$block->region][$block->bid] = $block;
+          foreach ($options['blocks'] as $context_block) {
+            $bid = "{$context_block['module']}-{$context_block['delta']}";
+            if (isset($info[$bid])) {
+              $block = (object) array_merge((array) $info[$bid], $context_block);
+              $block->context = $context->name;
+              $block->title = isset($info[$block->bid]->title) ? $info[$block->bid]->title : NULL;
+              $block->cache = isset($info[$block->bid]->cache) ? $info[$block->bid]->cache : DRUPAL_NO_CACHE;
+              $context_blocks[$block->region][$block->bid] = $block;
+            }
           }
         }
       }
