diff --git a/src/arglist.c b/src/arglist.c
index 5c22369..9e8925a 100644
--- a/src/arglist.c
+++ b/src/arglist.c
@@ -1241,32 +1241,31 @@
 	for (idx = 0; idx < ARGCOUNT; ++idx)
 	{
 	    p = alist_name(&ARGLIST[idx]);
-	    if (p != NULL)
+	    if (p == NULL)
+		continue;
+	    if (len > 0)
 	    {
-		if (len > 0)
-		{
-		    // insert a space in between names
-		    if (retval != NULL)
-			retval[len] = ' ';
-		    ++len;
-		}
-		for ( ; *p != NUL; ++p)
-		{
-		    if (*p == ' '
+		// insert a space in between names
+		if (retval != NULL)
+		    retval[len] = ' ';
+		++len;
+	    }
+	    for ( ; *p != NUL; ++p)
+	    {
+		if (*p == ' '
 #ifndef BACKSLASH_IN_FILENAME
-			    || *p == '\\'
+			|| *p == '\\'
 #endif
-			    || *p == '`')
-		    {
-			// insert a backslash
-			if (retval != NULL)
-			    retval[len] = '\\';
-			++len;
-		    }
+			|| *p == '`')
+		{
+		    // insert a backslash
 		    if (retval != NULL)
-			retval[len] = *p;
+			retval[len] = '\\';
 		    ++len;
 		}
+		if (retval != NULL)
+		    retval[len] = *p;
+		++len;
 	    }
 	}
 
