diff --git a/js/media.popups.js b/js/media.popups.js
index 9bed363..adb1fb0 100644
--- a/js/media.popups.js
+++ b/js/media.popups.js
@@ -148,8 +148,15 @@ Drupal.media.popups.mediaBrowser.finalizeSelection = function () {
  */
 Drupal.media.popups.mediaStyleSelector = function (mediaFile, onSelect, options) {
   var defaults = Drupal.media.popups.mediaStyleSelector.getDefaults();
+
   // @todo: remove this awful hack :(
-  defaults.src = defaults.src.replace('-media_id-', mediaFile.fid);
+  if (typeof defaults.src === 'string' ) {
+    defaults.src = defaults.src.replace('-media_id-', mediaFile.fid);
+  } else {
+    // defaults.src may be an array and may still contain the fid from an earlier insert.
+    defaults.src[defaults.src.length-1] = defaults.src[defaults.src.length-1].replace(/\/([0-9]+|\-media_id\-)\//, '/' + mediaFile.fid + '/');
+  }
+
   options = $.extend({}, defaults, options);
   // Create it as a modal window.
   var mediaIframe = Drupal.media.popups.getPopupIframe(options.src, 'mediaStyleSelector');
