diff --git a/modules/image/image.module b/modules/image/image.module
index 5caf282..89b14ca 100644
--- a/modules/image/image.module
+++ b/modules/image/image.module
@@ -1094,6 +1094,7 @@ function image_effect_apply($image, $effect) {
  */
 function theme_image_style($variables) {
   $variables['path'] = image_style_url($variables['style_name'], $variables['path']);
+  $variables['attributes']['class'][] = 'style-name-' . $variables['style_name'];
   return theme('image', $variables);
 }
 
diff --git a/modules/image/image.test b/modules/image/image.test
index 00f79d8..3222c1d 100644
--- a/modules/image/image.test
+++ b/modules/image/image.test
@@ -712,6 +712,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
     // image style callback paths.
     $this->drupalGet(image_style_url('thumbnail', $image_uri));
     $image_info['path'] = image_style_path('thumbnail', $image_uri);
+    $image_info['attributes']['class'][] = 'image-style-thumbnail';
     $default_output = theme('image', $image_info);
     $this->drupalGet('node/' . $nid);
     $this->assertRaw($default_output, t('Image style thumbnail formatter displaying correctly on full node view.'));
@@ -761,6 +762,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
     $node = node_load($nid, NULL, TRUE);
     $image_info = array(
       'path' => image_style_url('medium', $node->{$field_name}[LANGUAGE_NONE][0]['uri']),
+      'class' => array('image-style-medium'),
     );
     $default_output = theme('image', $image_info);
     $this->assertRaw($default_output, t("Preview image is displayed using 'medium' style."));
