Index: imagefield_file.inc
===================================================================
--- imagefield_file.inc	(revision 56)
+++ imagefield_file.inc	(working copy)
@@ -19,16 +19,28 @@
   return array('imagefield' => $references);
 }
 
-function imagefield_file_insert($file) {
-  // create and admin thumbnail.
+function imagefield_file_insert($field, $file) {
+  // create an admin thumbnail.
   if (imagefield_file_is_image($file)) {
+    if (isset($field['widget']['thumb_resolution']) && $field['widget']['thumb_resolution'] != "") {
+      if ($field['widget']['thumb_resolution'] == '0') {
+        $thumb_width = $thumb_height = 0;
+      }
+      else {
+        list($thumb_width, $thumb_height) = explode('x', $field['widget']['thumb_resolution']);
+      }
+    }
+    else {
+      $thumb_width = 100;
+      $thumb_height = 100;
+    }
     $info = image_get_info($file->filepath);
-    if($info['width'] < 100 || $info['height'] < 100) {
+    if($thumb_width == 0 || ($info['width'] < $thumb_width && $info['height'] < $thumb_height)) {
       $newfile = drupal_clone($file);
       file_copy($newfile->filepath, imagefield_file_admin_thumb_path($newfile));
     }
     else {
-      image_scale($file->filepath, imagefield_file_admin_thumb_path($file), 100, 100);
+      image_scale($file->filepath, imagefield_file_admin_thumb_path($file), $thumb_width, $thumb_height);
     }
   }
 }
Index: imagefield_widget.inc
===================================================================
--- imagefield_widget.inc	(revision 56)
+++ imagefield_widget.inc	(working copy)
@@ -40,6 +40,18 @@
     t('The minimum allowed image size expressed as WIDTHxHEIGHT (e.g. 640x480). Set to 0 for no restriction. If an image that is smaller than these dimensions is uploaded it will be rejected.'),
     '#weight' => 2,
   );
+  if (image_get_toolkit()) {
+    $form['thumb_resolution'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Thumbnail size for uploaded Images'),
+      '#default_value' => $widget['thumb_resolution'] != "" ? $widget['thumb_resolution'] : '100x100',
+      '#size' => 15,
+      '#maxlength' => 10,
+      '#description' =>
+      t('The thumbnail size that will displayed on the form after successful image upload, expressed as WIDTHxHEIGHT (e.g. 100x100). Set to 0 for no resizing.'),
+      '#weight' => 2,
+    );
+  }
 
   $form['file_extensions'] = array(
     '#type' => 'textfield',
@@ -100,7 +112,12 @@
 
 function imagefield_widget_widget_settings_save($widget) {
   //@todo: rename custom_alt and custom_title to alt_custom and title_custom to be OCD.
-  return array('max_resolution', 'min_resolution', 'alt',  'custom_alt', 'title', 'custom_title');
+  if (image_get_toolkit()) {
+    return array('max_resolution', 'min_resolution', 'thumb_resolution', 'alt',  'custom_alt', 'title', 'custom_title');
+  }
+  else {
+    return array('max_resolution', 'min_resolution', 'alt',  'custom_alt', 'title', 'custom_title');
+  }
 }
 
 /**
