diff -up vte-0.30.1/src/vte.c.underline vte-0.30.1/src/vte.c
--- vte-0.30.1/src/vte.c.underline	2012-08-02 15:51:08.735310575 +0200
+++ vte-0.30.1/src/vte.c	2012-08-02 16:08:54.860760827 +0200
@@ -11024,7 +11024,9 @@ vte_terminal_paint_cursor(VteTerminal *t
 		case VTE_CURSOR_SHAPE_UNDERLINE: {
                         int line_height;
 
-                        line_height = (int) (((float) width) * terminal->pvt->cursor_aspect_ratio + 0.5);
+			/* use height (not width) so underline and ibeam will
+			 * be equally visible */
+                        line_height = (int) (((float) height) * terminal->pvt->cursor_aspect_ratio + 0.5);
                         line_height = CLAMP (line_height, VTE_LINE_WIDTH, height);
 
 			vte_terminal_fill_rectangle(terminal, &terminal->pvt->palette[back],
