diff --git a/src/autocmd.c b/src/autocmd.c
index 20c5afa..c18d2a1 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -1063,18 +1063,18 @@
 
     for (p = arg; *p && !VIM_ISWHITE(*p) && *p != '|'; ++p)
 	;
-    if (p > arg)
-    {
-	group_name = vim_strnsave(arg, p - arg);
-	if (group_name == NULL)		// out of memory
-	    return AUGROUP_ERROR;
-	group = au_find_group(group_name);
-	if (group == AUGROUP_ERROR)
-	    group = AUGROUP_ALL;	// no match, use all groups
-	else
-	    *argp = skipwhite(p);	// match, skip over group name
-	vim_free(group_name);
-    }
+    if (p <= arg)
+	return AUGROUP_ALL;
+
+    group_name = vim_strnsave(arg, p - arg);
+    if (group_name == NULL)		// out of memory
+	return AUGROUP_ERROR;
+    group = au_find_group(group_name);
+    if (group == AUGROUP_ERROR)
+	group = AUGROUP_ALL;	// no match, use all groups
+    else
+	*argp = skipwhite(p);	// match, skip over group name
+    vim_free(group_name);
     return group;
 }
 
