diff --git a/ChangeLog b/ChangeLog
index a3fd871b36042c29369e02a919cfb39799c0e0dc..89b81802d605a17cf8cf77b860a42ec8d06bba4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-14	Benedikt Meurer <benny@xfce.org>
+
+	* thunar-vfs/thunar-vfs-exec.c(thunar_vfs_exec_on_screen): Fix invalid
+	  calculation of the number of environment variables.
+
 2005-11-14	Benedikt Meurer <benny@xfce.org>
 
 	* configure.in.in: Bump version to 0.1.4svn and depend on
diff --git a/thunar-vfs/thunar-vfs-exec.c b/thunar-vfs/thunar-vfs-exec.c
index 76389cbdafb3028b2084978046789eaf3126d2bc..8aaf7be400c65f8492f05c30c7cf08201e82a3eb 100644
--- a/thunar-vfs/thunar-vfs-exec.c
+++ b/thunar-vfs/thunar-vfs-exec.c
@@ -419,9 +419,9 @@ thunar_vfs_exec_on_screen (GdkScreen   *screen,
               /* setup the child environment */
               if (G_LIKELY (envp == NULL))
                 envp = (gchar **) environ;
-              for (n = 2; envp[n] != NULL; ++n)
+              for (n = 0; envp[n] != NULL; ++n)
                 ;
-              sn_envp = g_new (gchar *, n);
+              sn_envp = g_new (gchar *, n + 2);
               for (n = m = 0; envp[n] != NULL; ++n)
                 if (strncmp (envp[n], "DESKTOP_STARTUP_ID", 18) != 0)
                   sn_envp[m++] = g_strdup (envp[n]);