diff -urp colorbox.orig/colorbox.admin.inc colorbox/colorbox.admin.inc
--- colorbox.orig/colorbox.admin.inc	2010-04-13 15:12:56.000000000 -0400
+++ colorbox/colorbox.admin.inc	2010-04-13 14:35:03.000000000 -0400
@@ -54,6 +54,18 @@ function colorbox_admin_settings() {
       '#default_value' => variable_get('colorbox_auto_image_nodes', 0),
       '#description' => t('Select if Colorbox should be activated for the Image module.'),
     );
+    $options = array();
+    $sizes = image_get_sizes();
+    foreach ($sizes as $label => $size) {
+      $options[$label] = $size['label'];
+    }
+    $form['colorbox_image_module']['colorbox_image_derivative'] = array(
+      '#type' => 'select',
+      '#title' => t('Image derivative'),
+      '#options' => $options,
+      '#default_value' => variable_get('colorbox_image_derivative', 'preview'),
+      '#description' => t('Select which image derivative will be loaded.'),
+    );
   }
 
   $form['colorbox_login_settings'] = array(
Only in colorbox.orig: colorbox.admin.inc.orig.orig
diff -urp colorbox.orig/colorbox.module colorbox/colorbox.module
--- colorbox.orig/colorbox.module	2010-04-13 15:13:12.000000000 -0400
+++ colorbox/colorbox.module	2010-04-13 14:38:01.000000000 -0400
@@ -182,6 +182,7 @@ function _colorbox_doheader() {
   }
 
   if (module_exists('image') && variable_get('colorbox_auto_image_nodes', 0)) {
+    drupal_add_js(array('colorbox' => array('image_derivative' => variable_get('colorbox_image_derivative', 'preview'))), 'setting');
     drupal_add_js($path .'/js/colorbox_image_module.js');
   }
 
Only in colorbox.orig: colorbox.module.orig.orig
diff -urp colorbox.orig/js/colorbox_image_module.js colorbox/js/colorbox_image_module.js
--- colorbox.orig/js/colorbox_image_module.js	2010-04-03 04:39:19.000000000 -0400
+++ colorbox/js/colorbox_image_module.js	2010-04-13 14:41:36.000000000 -0400
@@ -1,12 +1,36 @@
 // $Id: colorbox_image_module.js,v 1.2 2010/04/03 08:39:19 frjo Exp $
 Drupal.behaviors.initColorboxImageModule = function (context) {
+  var settings = Drupal.settings.colorbox;
+
   // Image Attach Functionality
   $('.image-attach-body > a', context).each(function (i) {
-    // Modify link to jpg
-    this.href = $('.image-attach-body > a > img:eq('+i+')').attr("src").replace(".thumbnail", "");
+    var $img = $(".image", this);
+    if ($img.length === 0) {
+      return true;
+    }
+
+    // find derivative
+    var matches = $img.attr("class").match(/image\-(\w+)/);
+    if (matches === null) {
+      return true;
+    }
+    var derivative = matches[1];
+
+    // determine if we need to link
+    if (derivative == "_original" || derivative == settings.image_derivative) {
+      return true;
+    }
+
+    // create link path
+    var path_replacement = settings.image_derivative == "_original" ? "" : "." + settings.image_derivative;
+    var href = $img.attr("src").replace("." + derivative, path_replacement);
+
+    // Modify link to image
+    this.href = href;
     // Add rel tag to group
     this.rel = "image-gallery";
-    // Colorbox it
   });
+
+  // Colorbox it
   $("a[rel='image-gallery']", context).colorbox();
 };
