diff --git a/modules/overlay/overlay-parent.js b/modules/overlay/overlay-parent.js
index 93c82b737e0e0e20cecb605e66a337c9af11a40e..43ab8f7f422a48c3caf92111c9fe60a88dad1bf9 100644
--- a/modules/overlay/overlay-parent.js
+++ b/modules/overlay/overlay-parent.js
@@ -417,6 +417,8 @@ Drupal.overlay.bindChild = function (iframeWindow, isClosing) {
   // Add a title attribute to the iframe for accessibility.
   self.$iframe.attr('title', Drupal.t('@title dialog', { '@title': iframeTitle }));
 
+  // Remove any existing shortcut button markup in the title section.
+  self.$dialogTitlebar.find('.add-or-remove-shortcuts').remove();
   // If the shortcut add/delete button exists, move it to the dialog title.
   var $addToShortcuts = self.$iframeWindow('.add-or-remove-shortcuts');
   if ($addToShortcuts.length) {
@@ -428,6 +430,8 @@ Drupal.overlay.bindChild = function (iframeWindow, isClosing) {
     self.$dialogTitlebar.find('.ui-dialog-title').after($addToShortcuts);
   }
 
+  // Remove any existing tabs in the title section.
+  self.$dialogTitlebar.find('ul').remove();
   // If there are tabs in the page, move them to the titlebar.
   var $tabs = self.$iframeWindow('ul.primary');
   if ($tabs.length) {