--- usr-src-debug-gtkhtml-3.12.3-src-htmltext.c~	2007-05-26 03:41:14.000000000 -0400
+++ usr-src-debug-gtkhtml-3.12.3-src-htmltext.c	2007-05-26 03:46:32.000000000 -0400
@@ -2444,9 +2444,14 @@
 
 	/* printf ("slave: %p\n", slave); */
 
-	if (slave)
-		html_text_slave_get_cursor_base (slave, painter, offset - slave->posStart, x, y);
-	else {
+	if (slave) {
+		if (offset >= slave->posStart) {
+			html_text_slave_get_cursor_base (slave, painter, offset - slave->posStart, x, y);
+		} else {
+			g_warning ("Getting cursor base for an HTMLText with offset before start of the slave -- self: %p slave: %p offset: %d posStart %d\n", self, slave, offset, slave->posStart);
+			html_object_calc_abs_position (self, x, y);
+		}
+	} else {
 		g_warning ("Getting cursor base for an HTMLText with no slaves -- %p\n", self);
 		html_object_calc_abs_position (self, x, y);
 	}
