diff --git a/diff.diff.inc b/diff.diff.inc
index a5e5efe..af0a7aa 100644
--- a/diff.diff.inc
+++ b/diff.diff.inc
@@ -252,11 +252,11 @@ function diff_get_field_instance_settings($context) {
     $entity_type = $context['instance']['entity_type'];
     $bundle = $context['instance']['bundle'];
     $view_mode_settings = field_view_mode_settings($entity_type, $bundle);
-    $actual_mode = (!empty($view_mode_settings[$context['view_mode']]['custom_settings'])) ? $view_mode : 'default';
+    $actual_mode = (!empty($view_mode_settings[$context['view_mode']]['custom_settings'])) ? $context['view_mode'] : 'default';
     if (diff_supported_view_mode($actual_mode)) {
       // Should we directly use the instance settings or the hooked version?
       // $display = $context['instance']['display'][$actual_mode];
-      $display = field_get_display($context['instance'], $context['view_mode'], $context['entity']);
+      $display = field_get_display($context['instance'], $context['view_mode'], $context['new_entity']);
       $display_settings = $display['settings'];
     }
   }
