diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 027af11..d3c9ebf 100755
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -15,6 +15,7 @@ Menu_MiniPanels 6.x-1.x-dev, xxxx-xx-xx
 * #1185506 by DamienMcKenna: Indicate which fields are really required, don't
   output settings which are not required.
 * #1199412 by DamienMcKenna: Separate the admin JS into its own file.
+* #1230686 by muhleder, DamienMcKenna: Prevent duplicate content on DOM change.
 
 
 Menu_MiniPanels 6.x-1.2, 2011-01-09
diff --git a/js/menu_minipanels.js b/js/menu_minipanels.js
index c5f1ef5..b285e64 100755
--- a/js/menu_minipanels.js
+++ b/js/menu_minipanels.js
@@ -9,7 +9,10 @@
  */
 Drupal.behaviors.menuMiniPanels = function(context) {
   // Add the hovers to each appropriate menu item.
-  $('ul li a.menu-minipanel').each(function() {
+  $('ul li a.menu-minipanel:not(.minipanel-processed)', context).each(function() {
+    // Ensure that the panels are only processed once.
+    $(this).addClass('minipanels-processed');
+
     var matches = $(this).attr('class').match('menu-minipanel-([0-9]+)');
     var html = $('div.menu-minipanel-' + matches[1]).clone().show();
     var settings = Drupal.settings.menuMinipanels.panels['panel_' + matches[1]];
