diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js
index 3b1ca88342861da86b1b851b9210912662e256ee..11bf991fd8dc6fa2700cd13e43f01a4c02e2dc26 100644
--- a/lib/scripts/edit.js
+++ b/lib/scripts/edit.js
@@ -160,7 +160,9 @@ function keyHandler(e){
         // keep current indention for lists and code
         var match = search.match(/(\n  +([\*-] ?)?)/);
         if(match){
+            var scroll = field.scrollHeight;
             insertAtCarret(field.id,match[1]);
+            field.scrollTop += (field.scrollHeight - scroll);
             e.preventDefault(); // prevent enter key
         }
     }else if(e.keyCode == 8){ // Backspace
@@ -201,7 +203,7 @@ function keyHandler(e){
 addInitEvent(function(){
     var field = $('wiki__text');
     if(!field) return;
-    addEvent(field,'keydown',keyHandler);
+    addEvent(field,'keypress',keyHandler);
 });
 
 /**