diff --git a/reviewboard/static/rb/css/diffviewer.less b/reviewboard/static/rb/css/diffviewer.less
index 262c94df1214b3ed5580e4e999a0aff4124aac24..eed88576d2b061f16399e2528ea5270e2c43c8ba 100644
--- a/reviewboard/static/rb/css/diffviewer.less
+++ b/reviewboard/static/rb/css/diffviewer.less
@@ -193,16 +193,11 @@
   }
 
   .moved-flag {
+    background-color: inherit !important;
     display: inline-block;
+    font-size: 7pt;
     margin: -1px;
     padding: 0;
-
-    span {
-      background-color: inherit !important;
-      display: block;
-      font-size: 7pt;
-      padding: 0;
-    }
   }
 
   .moved-to-start, .moved-from-start {
diff --git a/reviewboard/static/rb/js/diffviewer/views/diffReviewableView.js b/reviewboard/static/rb/js/diffviewer/views/diffReviewableView.js
index 8e8b70743b7dc573e07014495dd340e8ef245a86..4f764c76089f5c243627b146fa5afe657041e232 100644
--- a/reviewboard/static/rb/js/diffviewer/views/diffReviewableView.js
+++ b/reviewboard/static/rb/js/diffviewer/views/diffReviewableView.js
@@ -959,17 +959,10 @@ RB.DiffReviewableView = RB.AbstractReviewableView.extend({
      * and briefly highlight the line.
      */
     _onMovedLineClicked: function(e) {
-        var $node = $(e.target),
-            dest = $node.attr('line'),
-            $anchor;
-
         e.preventDefault();
         e.stopPropagation();
 
-        $anchor = $node.parents('table').find('td a[target=' + dest + ']');
-        $anchor.parents('tr').children().effect('highlight', {}, 2000);
-
-        RB.scrollToAnchor($anchor);
+        this.trigger('moveFlagClicked', $(e.target).data('line'));
     },
 
     /*
diff --git a/reviewboard/static/rb/js/pages/views/diffViewerPageView.js b/reviewboard/static/rb/js/pages/views/diffViewerPageView.js
index c07bfe459f2e86e2d972a1c481e6d6b515951d5e..99e84132f92a35a8ef36b652ffd68799166ea599 100644
--- a/reviewboard/static/rb/js/pages/views/diffViewerPageView.js
+++ b/reviewboard/static/rb/js/pages/views/diffViewerPageView.js
@@ -295,6 +295,10 @@ RB.DiffViewerPageView = RB.ReviewablePageView.extend({
             this.selectAnchorByName(name, false);
         });
 
+        this.listenTo(diffReviewableView, 'moveFlagClicked', function(line) {
+            this.selectAnchor(this.$('a[target=' + line + ']'));
+        });
+
         /* We must rebuild this every time. */
         this._updateAnchors(diffReviewableView.$el);
 
diff --git a/reviewboard/templates/diffviewer/diff_file_fragment.html b/reviewboard/templates/diffviewer/diff_file_fragment.html
index 3de394530fd65d390f5b4098bbf56f855e18f823..5aa88712d990e848b6620f482afc3a6d582f53f5 100644
--- a/reviewboard/templates/diffviewer/diff_file_fragment.html
+++ b/reviewboard/templates/diffviewer/diff_file_fragment.html
@@ -40,7 +40,7 @@
 {% enddefinevar %}
 
 {% definevar 'moved_fmt' %}
- <a href="#" class="%(class)s" line="%(line)s" target="%(target)s"><span>%(text)s</span></a>
+ <a href="#" class="%(class)s" data-line="%(line)s" target="%(target)s">%(text)s</a>
 {% enddefinevar %}
 
 {% if file.changed_chunk_indexes or file.binary or file.deleted or file.moved %}
