diff --git a/reviewboard/static/rb/js/common.es6.js b/reviewboard/static/rb/js/common.es6.js
index 69a153e12fc346b756798e15e117c5ed3730e9bf..073a8c63c1b155f9400818c2cd1314be168569fe 100644
--- a/reviewboard/static/rb/js/common.es6.js
+++ b/reviewboard/static/rb/js/common.es6.js
@@ -15,13 +15,19 @@ $.fn.infobox = function(id) {
             .appendTo(document.body);
     }
 
-    this.each(function() {
-        const view = new RB.InfoboxView({
-            $target: $(this),
-            el: $el
-        });
-
-        view.render();
+    this.each((idx, target) => {
+        const $target = $(target);
+        let view = $target.data('infobox');
+
+        if (!view) {
+            view = new RB.InfoboxView({
+                $target: $target,
+                el: $el,
+            });
+
+            $target.data('infobox', view);
+            view.render();
+        }
     });
 };
 
