diff -Npur gtkhtml-old/gtkhtml/htmlclueflow.c gtkhtml-new/gtkhtml/htmlclueflow.c
--- gtkhtml-old/gtkhtml/htmlclueflow.c	2009-08-19 17:40:06.000000000 +0800
+++ gtkhtml-new/gtkhtml/htmlclueflow.c	2009-08-19 17:46:58.000000000 +0800
@@ -1970,6 +1970,7 @@ save_plain (HTMLObject *self,
 	gint align_pad;
 	gboolean firstline = TRUE;
 	gint max_width;
+	gboolean over_max_width;
 
 	flow = HTML_CLUEFLOW (self);
 
@@ -2046,6 +2047,7 @@ save_plain (HTMLObject *self,
 				width = utf8_width ((gchar *) s, len);
 				skip = 0;
 
+				over_max_width = FALSE;
 				if ((flow->style != HTML_CLUEFLOW_STYLE_PRE)
 				    && !HTML_IS_TABLE (HTML_CLUE (flow)->head)) {
 					if (width > max_width) {
@@ -2053,6 +2055,7 @@ save_plain (HTMLObject *self,
 						gint wmax;
 						gint wi, wl;
 
+						over_max_width = TRUE;
 						wmax = clen + utf8_length_in_width ((gchar *) s, len, max_width);
 						wl = wmax;
 
@@ -2125,7 +2128,8 @@ save_plain (HTMLObject *self,
 					clen ++;
 				}
 
-				g_string_append_c (out, '\n');
+				if (!over_max_width)
+					g_string_append_c (out, '\n');
 				firstline = FALSE;
 			}
 			g_free (lattrs);
