diff --git a/src/autocmd.c b/src/autocmd.c
index 6a5f035..c8e51b2 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -803,16 +803,26 @@
     int
 event_ignored(event_T event, char_u *ei)
 {
+    int ignored = FALSE;
     while (*ei != NUL)
     {
-	if (STRNICMP(ei, "all", 3) == 0 && (ei[3] == NUL || ei[3] == ',')
-	    && (ei == p_ei || (event_tab[event].key <= 0)))
-	    return TRUE;
-	if (event_name2nr(ei, &ei) == event)
-	    return TRUE;
+	int unignore = *ei == '-';
+	ei += unignore;
+	if (STRNICMP(ei, "all", 3) == 0 && (ei[3] == NUL || ei[3] == ','))
+	{
+	    ignored = ei == p_ei || (event_tab[event].key <= 0);
+	    ei += 3 + (ei[3] == ',');
+	}
+	else if (event_name2nr(ei, &ei) == event)
+	{
+	    if (unignore)
+		return FALSE;
+	    else
+		ignored = TRUE;
+	}
     }
 
-    return FALSE;
+    return ignored;
 }
 
 /*
@@ -827,13 +837,10 @@
     while (*ei)
     {
 	if (STRNICMP(ei, "all", 3) == 0 && (ei[3] == NUL || ei[3] == ','))
-	{
-	    ei += 3;
-	    if (*ei == ',')
-		++ei;
-	}
+	    ei += 3 + (ei[3] == ',');
 	else
 	{
+	    ei += (*ei == '-');
 	    event_T event = event_name2nr(ei, &ei);
 	    if (event == NUM_EVENTS || (win && event_tab[event].key > 0))
 		return FAIL;
