diff -Nur vte-0.27.2.orig/src/pty.c vte-0.27.2/src/pty.c
--- vte-0.27.2.orig/src/pty.c	2010-10-18 21:58:58.000000000 +0800
+++ vte-0.27.2/src/pty.c	2012-03-09 14:09:57.421508459 +0800
@@ -406,10 +406,12 @@
 	table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
 
 	parent_environ = g_listenv ();
-	for (i = 0; parent_environ[i] != NULL; i++) {
-		g_hash_table_replace (table,
-			              g_strdup (parent_environ[i]),
-				      g_strdup (g_getenv (parent_environ[i])));
+	if (parent_environ) {
+		for (i = 0; parent_environ[i] != NULL; i++) {
+			g_hash_table_replace (table,
+				              g_strdup (parent_environ[i]),
+					      g_strdup (g_getenv (parent_environ[i])));
+		}
 	}
 	g_strfreev (parent_environ);
 
