diff --git a/src/surface.js b/src/surface.js
index <HASH>..<HASH> 100644
--- a/src/surface.js
+++ b/src/surface.js
@@ -237,6 +237,9 @@ Surface.Prototype = function() {
     }
 
     nodeView.renderAnnotations(annotations);
+
+    // HACK: after the annotations have been rendered, the DOM selection is corrupted
+    this.renderSelection();
   };
 
   this.makeEditable = function(el) {
Hack: Re-render the selection after annotation updates.