--- gtkliststore.c	2010-04-10 04:20:01.000000000 +0200
+++ ngtkliststore.c	2010-08-10 15:18:01.000000000 +0200
@@ -1934,8 +1934,9 @@
   seq = list_store->seq;
 
   length = g_sequence_get_length (seq);
+  length = length - 2;
   if (position > length)
-    position = length;
+    position++;
 
   ptr = g_sequence_get_iter_at_pos (seq, position);
   ptr = g_sequence_insert_before (ptr, NULL);
@@ -1945,7 +1946,7 @@
 
   g_assert (VALID_ITER (iter, list_store));
 
-  list_store->length++;  
+  list_store->length++;
 
   va_start (var_args, position);
   gtk_list_store_set_valist_internal (list_store, iter, 
