diff --git a/includes/media.filter.inc b/includes/media.filter.inc
index 5f1ece8..552f9f8 100644
--- a/includes/media.filter.inc
+++ b/includes/media.filter.inc
@@ -641,6 +641,24 @@ function media_get_file_without_label($file, $view_mode, $settings = array()) {
     }
   }
 
+  // Respect the width/height set in WYSIWYG editors by ensuring that all
+  // attributes and styles use the same values.
+  if (isset($element['#attributes']) && isset($element['#attributes']['width'])) {
+    $element['#width'] = $element['#attributes']['width'];
+  }
+  if (isset($element['#attributes']) && isset($element['#attributes']['height'])) {
+    $element['#height'] = $element['#attributes']['height'];
+  }
+  if (isset($element['#height']) && isset($element['#width'])) {
+    $style = sprintf('width: %spx; height: %spx;', $element['#width'], $element['#height']);
+    if (empty($element['#attributes']['style'])) {
+      $element['#attributes']['style'] = $style;
+    }
+    else {
+      $element['#attributes']['style'] .= " $style";
+    }
+  }
+
   return $element;
 }
 
