diff --git a/lib/codemirror.js b/lib/codemirror.js
index d7eb25e797df9856229b799e04c2acf1fec4ae6b..882b17b9250f3e612251b5cae2473a2f69c96e66 100644
--- a/lib/codemirror.js
+++ b/lib/codemirror.js
@@ -2042,9 +2042,6 @@
       op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3;
       op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo +
                                   scrollerCutOff - display.scroller.clientWidth);
-      var prevMinWidth = display.sizer.style.minWidth;
-      if (prevMinWidth && op.barMeasure.scrollWidth > op.barMeasure.clientWidth)
-        op.barMeasure.scrollWidth += op.adjustWidthTo - parseInt(prevMinWidth);
     }
 
     if (op.updatedDisplay || op.selectionChanged)
@@ -2077,6 +2074,9 @@
   function endOperation_finish(op) {
     var cm = op.cm, display = cm.display, doc = cm.doc;
 
+    if (op.adjustWidthTo != null && Math.abs(op.barMeasure.scrollWidth - cm.display.scroller.scrollWidth) > 1)
+      updateScrollbars(cm);
+
     if (op.updatedDisplay) postUpdateDisplay(cm, op.update);
 
     // Abort mouse wheel delta measurement, when scrolling explicitly