diff -r 4ed63a8bf418 -r 498ea247eeef QScintilla/Editor.py --- a/QScintilla/Editor.py Sat Oct 11 18:47:47 2014 +0200 +++ b/QScintilla/Editor.py Sat Oct 11 19:08:00 2014 +0200 @@ -1945,7 +1945,11 @@ self.inLinesChanged = False elif mtype & self.SC_MOD_CHANGEANNOTATION: vsb = self.verticalScrollBar() - vsb.setMaximum(vsb.maximum() + annotationLinesAdded) + vsbMax = vsb.maximum() + vsbValue = vsb.value() + vsb.setMaximum(vsbMax + annotationLinesAdded) + if vsbValue == vsbMax: + vsb.setValue(vsb.maximum()) def __restoreBreakpoints(self): """