diff --git a/includes/media.filter.inc b/includes/media.filter.inc
index b1d46f6..86573ad 100644
--- a/includes/media.filter.inc
+++ b/includes/media.filter.inc
@@ -338,6 +338,11 @@ function media_token_to_markup($match, $wysiwyg = FALSE) {
             $settings[$dimension] = $settings['attributes'][$dimension];
           }
         }
+        // If the element is floated via WYSIWYG editor functionality, delegate
+        // that information to the outer element.
+        if (!empty($css_properties['float'])) {
+          $settings['float'] = $css_properties['float'];
+        }
       }
     }
   }
@@ -401,6 +406,10 @@ function media_token_to_markup($match, $wysiwyg = FALSE) {
         'media-element-container',
         'media-' . $element['content']['file']['#view_mode']
       );
+      // Add the float information to the outer element.
+      if (!empty($settings['float'])) {
+        $element['content']['#attributes']['class'][] = 'media-float-' . $settings['float'];
+      }
     }
   }
   drupal_alter('media_token_to_markup', $element, $tag_info, $settings);
diff --git a/tests/media.macro.test b/tests/media.macro.test
index 62ad0a6..222a853 100644
--- a/tests/media.macro.test
+++ b/tests/media.macro.test
@@ -93,4 +93,29 @@ class MediaWysiwygOverridesTest extends MediaTestHelper {
     $this->assertRaw(drupal_attributes($attributes), t('Image displays with alt/title set as attributes overriding field values.'));
   }
 
+  /**
+   * Test image media overrides on images with fields attached.
+   */
+  public function testAttributeOverridesWithFields() {
+    // First make images display the title field on the preview mode we use.
+    $instance = field_read_instance('file', 'field_file_image_title_text', 'image');
+    $instance['display']['preview']['type'] = 'text_default';
+    $instance['display']['preview']['module'] = 'text';
+    field_update_instance($instance);
+
+    $files = $this->drupalGetTestFiles('image');
+    $file = file_save($files[0]);
+
+    $attributes = array(
+      'style' => 'float: left;',
+    );
+    $fields = array(
+      'field_file_image_title_text[und][0][value]' => $this->randomName(),
+    );
+    $nid = $this->createNode($file->fid, $attributes, $fields);
+    $this->drupalGet('node/' . $nid);
+    $this->assertRaw('float: left;', 'Image displays with overriden attributes when displays with fields.');
+    $this->assertRaw('media-float-left', 'Media float class added.');
+  }
+
 }
