diff --git a/clients/editor.c b/clients/editor.c
index b375938..295018a 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -205,15 +205,7 @@
 				      struct input *input, uint32_t time,
 				      uint32_t button,
 				      enum wl_pointer_button_state state, void *data);
-
-static void
-text_entry_append(struct text_entry *entry, const char *text)
-{
-	entry->text = realloc(entry->text, strlen(entry->text) + strlen(text) + 1);
-	strcat(entry->text, text);
-	text_layout_set_text(entry->layout, entry->text);
-}
-
+static void text_entry_insert_at_cursor(struct text_entry *entry, const char *text);
 
 static void
 text_model_commit_string(void *data,
@@ -223,7 +215,12 @@
 {
 	struct text_entry *entry = data;
 
-	text_entry_append(entry, text);	
+	if (index > strlen(text)) {
+		fprintf(stderr, "Invalid cursor index %d\n", index);
+		index = strlen(text);
+	}
+
+	text_entry_insert_at_cursor(entry, text);
 
 	widget_schedule_redraw(entry->widget);
 }
@@ -409,6 +406,23 @@
 }
 
 static void
+text_entry_insert_at_cursor(struct text_entry *entry, const char *text)
+{
+	char *new_text = malloc(strlen(entry->text) + strlen(text) + 1);
+
+	strncpy(new_text, entry->text, entry->cursor);
+	strcpy(new_text + entry->cursor, text);
+	strcpy(new_text + entry->cursor + strlen(text),
+	       entry->text + entry->cursor);
+
+	free(entry->text);
+	entry->text = new_text;
+	entry->cursor += strlen(text);
+
+	text_layout_set_text(entry->layout, entry->text);
+}
+
+static void
 text_entry_set_cursor_position(struct text_entry *entry,
 			       int32_t x, int32_t y)
 {
