diff --git a/ds.module b/ds.module
index 349ccde..ec32c75 100644
--- a/ds.module
+++ b/ds.module
@@ -980,7 +980,7 @@ function ds_render_block_field($field) {
 
   list($module, $delta) = explode('|', $field['properties']['block']);
   $block = module_invoke($module, 'block_view', $delta);
-  if (is_array($block['content'])) {
+  if (isset($block['content']) && is_array($block['content'])) {
     $block['content'] = drupal_render($block['content']);
   }
   if (!empty($block)) {
diff --git a/ds.registry.inc b/ds.registry.inc
index d37eb15..b1e3b6f 100644
--- a/ds.registry.inc
+++ b/ds.registry.inc
@@ -71,7 +71,10 @@ function _ds_theme_registry_alter(&$theme_registry) {
     if (isset($entity_info[$entity]['fieldable']) && $entity_info[$entity]['fieldable']) {
       // User uses user_profile for theming.
       if ($entity == 'user') $entity = 'user_profile';
-      $theme_registry[$entity]['preprocess functions'][] = 'ds_entity_variables';
+
+      // Only add preprocess functions if entity exposes theme function
+      if (isset($theme_registry[$entity]))
+        $theme_registry[$entity]['preprocess functions'][] = 'ds_entity_variables';
     }
   }
 
