diff --git a/modules/image/image.field.inc b/modules/image/image.field.inc
index 10d385d..8776f8f 100644
--- a/modules/image/image.field.inc
+++ b/modules/image/image.field.inc
@@ -25,6 +25,7 @@ function image_field_info() {
         'title_field' => 0,
         'max_resolution' => '',
         'min_resolution' => '',
+        'default_image' => 0,
       ),
       'default_widget' => 'image_image',
       'default_formatter' => 'image',
@@ -152,6 +153,14 @@ function image_field_instance_settings_form($field, $instance) {
     '#weight' => 11,
   );
 
+  $form['default_image'] = array(
+    '#title' => t('Default image'),
+    '#type' => 'managed_file',
+    '#description' => t("If no image is uploaded, this image will be shown on display and will override the field's default image."),
+    '#default_value' => $settings['default_image'],
+    '#upload_location' => 'public://default_images/',
+  );
+
   return $form;
 }
 
@@ -191,8 +200,16 @@ function image_field_load($entity_type, $entities, $field, $instances, $langcode
 function image_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) {
   // If there are no files specified at all, use the default.
   foreach ($entities as $id => $entity) {
-    if (empty($items[$id]) && $field['settings']['default_image']) {
-      if ($file = file_load($field['settings']['default_image'])) {
+    if (empty($items[$id])) {
+      $fid = 0;
+      if ($instances[$id]['settings']['default_image']) {
+        $fid = $instances[$id]['settings']['default_image'];
+      }
+      elseif ($field['settings']['default_image']) {
+        $fid = $field['settings']['default_image'];
+      }
+
+      if ($fid && ($file = file_load($fid))) {
         $items[$id][0] = (array) $file + array(
           'is_default' => TRUE,
           'alt' => '',
