diff --git a/css/media-image.css b/css/media-image.css
new file mode 100644
index 0000000..23a01b5
--- /dev/null
+++ b/css/media-image.css
@@ -0,0 +1,15 @@
+/**
+ * @file
+ * Very basic styling for displaying images rendered with the Media Library
+ */
+
+/* @group images displayed in nodes */
+img.media-image-left {
+  float: left;
+  margin: 0 10px 10px 0;
+}
+img.media-image-right {
+  float: right;
+  margin: 0 0 10px 10px;
+}
+/* @end images displayed in nodes */
diff --git a/javascript/wysiwyg-media.js b/javascript/wysiwyg-media.js
index 156229a..ad4d8c6 100644
--- a/javascript/wysiwyg-media.js
+++ b/javascript/wysiwyg-media.js
@@ -252,6 +252,22 @@ Drupal.wysiwyg.plugins.media = {
       }
     }
 
+    // Convert style-based floating of images to classes. Note we leave the 
+    // the attribute so that the WYSIWYG editor will remember the setting.
+    // First, remove any previous left/right classes, note that class will 
+    // contain at least 'media-image'
+    mediaAttributes['class'] = mediaAttributes['class'].replace(/\s*media-image-(left|right)\s*/g, ' ');
+    
+    // Add appropriate left/right class to the <img> tag.
+    if (mediaAttributes['style']) {
+      if (-1 != mediaAttributes['style'].indexOf('float: right;')) {
+        mediaAttributes['class'] += ' media-image-right';
+      }
+      if (-1 != mediaAttributes['style'].indexOf('float: left;')) {
+        mediaAttributes['class'] += ' media-image-left';
+      }
+    }
+
     // Remove elements from attribs using the blacklist
     for (var blackList in Drupal.settings.media.blacklist) {
       delete mediaAttributes[Drupal.settings.media.blacklist[blackList]];
diff --git a/media.filter.inc b/media.filter.inc
index 87bd418..4c356d1 100644
--- a/media.filter.inc
+++ b/media.filter.inc
@@ -182,6 +182,20 @@ function media_token_to_markup($match, $wysiwyg = FALSE) {
   }
 
   $file_field = media_get_file_without_label($media_obj, $media['view_mode'], $settings);
+
+  /*
+   * This doesn't work because the media filter is cached by default. The only
+   * other alternative I can think of is to add the media-image.css in mdedia.info
+   * which includes it on every page regardless of whether there is an image.
+   * Unless there's another solution?
+  if ('image' == $media_obj->type) {
+    if (empty($file_field['#attached']['css'])) {
+      $file_field['#attached']['css'] = array();
+    }
+    $file_field['#attached']['css'][] = drupal_get_path('module', 'media') . '/css/media-image.css';
+  }
+  */
+
   return drupal_render($file_field);
 }
 
@@ -205,7 +219,6 @@ function media_pre_render_text_format($element) {
   );
 
   $tagmap = _media_generate_tagMap($field['#value']);
-
   if (isset($tagmap)) {
     drupal_add_js(array('tagmap' => array_unique($tagmap)), 'setting');
   }
diff --git a/media.info b/media.info
index 5af89ea..fa2c809 100644
--- a/media.info
+++ b/media.info
@@ -18,4 +18,7 @@ dependencies[] = file
 dependencies[] = image
 dependencies[] = file_styles
 
+; Basic styling for display of Media elements
+stylesheets[all][] = css/media-image.css
+
 testing_api = 2.x
