diff --git a/src/edit/commands.js b/src/edit/commands.js
index 45ae5eb05952acf0adc0f436529283496f2795aa..eda54bcd04913d534866c4240649802963f8d219 100644
--- a/src/edit/commands.js
+++ b/src/edit/commands.js
@@ -67,7 +67,7 @@ export let commands = {
     return cm.coordsChar({left: 0, top: top}, "div")
   }, sel_move),
   goLineLeftSmart: cm => cm.extendSelectionsBy(range => {
-    let top = cm.charCoords(range.head, "div").top + 5
+    let top = cm.cursor(range.head, "div").top + 5
     let pos = cm.coordsChar({left: 0, top: top}, "div")
     if (pos.ch < cm.getLine(pos.line).search(/\S/)) return lineStartSmart(cm, range.head)
     return pos