diff --git a/lib/codemirror.css b/lib/codemirror.css
index 63753dcb02164f372cc40d927b4175fcb1e82065..3543523e645ce5a8a681986d5f289eea65514e39 100644
--- a/lib/codemirror.css
+++ b/lib/codemirror.css
@@ -42,21 +42,20 @@
 /* CURSOR */
 
 .CodeMirror-cursor {
-  position: absolute;
+  border-left: 1px solid black;
   border-right: none;
   width: 0;
-  border-left: 1px solid black;
 }
 /* Shown when moving in bi-directional text */
 .CodeMirror div.CodeMirror-secondarycursor {
   border-left: 1px solid silver;
 }
-.CodeMirror.cm-fat-cursor .CodeMirror-cursor {
+.cm-fat-cursor .CodeMirror-cursor {
   width: auto;
   border: 0;
   background: #7e7;
 }
-.CodeMirror.cm-fat-cursor div.CodeMirror-cursors {
+.cm-fat-cursor div.CodeMirror-cursors {
   z-index: 1;
 }
 
@@ -84,6 +83,9 @@
   100% {}
 }
 
+/* Can style cursor different in overwrite (non-insert) mode */
+.CodeMirror-overwrite .CodeMirror-cursor {}
+
 .cm-tab { display: inline-block; text-decoration: inherit; }
 
 .CodeMirror-ruler {
@@ -284,6 +286,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
   overflow: hidden;
   visibility: hidden;
 }
+
+.CodeMirror-cursor { position: absolute; }
 .CodeMirror-measure pre { position: static; }
 
 div.CodeMirror-cursors {