diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index b7b311a..6eaa66b 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -436,11 +436,10 @@
 			ACTION_RECURSE | ACTION_FOLLOWLINKS,
 			fileAction, dirAction, temp, 0);
 	} else {
+		char *fw;
 		char *seq;
 		char *action;
 		char *env_path;
-		char seqbuf[sizeof(int)*3 + 2];
-		int seqlen = seqlen; /* for compiler */
 
 		/* Hotplug:
 		 * env ACTION=... DEVPATH=... [SEQNUM=...] mdev
@@ -451,14 +450,23 @@
 		env_path = getenv("DEVPATH");
 		if (!action || !env_path)
 			bb_show_usage();
+		fw = getenv("FIRMWARE");
 
+		/* If it exists, does /dev/mdev.seq match $SEQNUM?
+		 * If it does not match, earlier mdev is running
+		 * in parallel, and we need to wait */
 		seq = getenv("SEQNUM");
 		if (seq) {
-			int timeout = 2000 / 32;
+			int timeout = 2000 / 32; /* 2000 msec */
 			do {
+				int seqlen;
+				char seqbuf[sizeof(int)*3 + 2];
+
 				seqlen = open_read_close("mdev.seq", seqbuf, sizeof(seqbuf-1));
-				if (seqlen < 0)
+				if (seqlen < 0) {
+					seq = NULL;
 					break;
+				}
 				seqbuf[seqlen] = '\0';
 				if (seqbuf[0] == '\n' /* seed file? */
 				 || strcmp(seq, seqbuf) == 0 /* correct idx? */
@@ -470,19 +478,22 @@
 		}
 
 		snprintf(temp, PATH_MAX, "/sys%s", env_path);
-		if (!strcmp(action, "remove"))
-			make_device(temp, 1);
-		else if (!strcmp(action, "add")) {
+		if (strcmp(action, "remove") == 0) {
+			/* Ignoring "remove firmware". It was reported
+			 * to happen and to cause erroneous deletion
+			 * of device nodes. */
+			if (!fw)
+				make_device(temp, 1);
+		}
+		else if (strcmp(action, "add") == 0) {
 			make_device(temp, 0);
-
 			if (ENABLE_FEATURE_MDEV_LOAD_FIRMWARE) {
-				char *fw = getenv("FIRMWARE");
 				if (fw)
 					load_firmware(fw, temp);
 			}
 		}
 
-		if (seq && seqlen >= 0) {
+		if (seq) {
 			xopen_xwrite_close("mdev.seq", utoa(xatou(seq) + 1));
 		}
 	}
