diff -urpN busybox-1.18.0/miscutils/chat.c busybox-1.18.0-chat/miscutils/chat.c
--- busybox-1.18.0/miscutils/chat.c	2010-11-22 21:43:22.000000000 +0100
+++ busybox-1.18.0-chat/miscutils/chat.c	2010-12-18 01:47:28.000000000 +0100
@@ -175,23 +175,24 @@ int chat_main(int argc UNUSED_PARAM, cha
 				llist_add_to_end(&aborts, arg);
 #if ENABLE_FEATURE_CHAT_CLR_ABORT
 			} else if (DIR_CLR_ABORT == key) {
+				llist_t *l;
 				// remove the string from abort conditions
 				// N.B. gotta refresh maximum length too...
-#if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
+# if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
 				max_abort_len = 0;
-#endif
-				for (llist_t *l = aborts; l; l = l->link) {
-#if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
+# endif
+				for (l = aborts; l; l = l->link) {
+# if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
 					size_t len = strlen(l->data);
-#endif
-					if (!strcmp(arg, l->data)) {
+# endif
+					if (strcmp(arg, l->data) == 0) {
 						llist_unlink(&aborts, l);
 						continue;
 					}
-#if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
+# if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
 					if (len > max_abort_len)
 						max_abort_len = len;
-#endif
+# endif
 				}
 #endif
 			} else if (DIR_TIMEOUT == key) {
