diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 60574f249d3daf37c922d37885ff79f808ff9716..5c7505c0fdcc7f20ac2d1b30e6c257a663797758 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -566,14 +566,12 @@ int fw_parse_script(char *fname)
 		}
 
 		/* Drop ending line feed / carriage return */
-		while (len > 0 && (dump[len - 1] == '\n' ||
-				dump[len - 1] == '\r')) {
-			dump[len - 1] = '\0';
-			len--;
-		}
+		dump[--len] = '\0';
+		if (len && dump[len - 1] == '\r')
+			dump[--len] = '\0';
 
 		/* Skip comment or empty lines */
-		if ((len == 0) || dump[0] == '#')
+		if (len == 0 || dump[0] == '#')
 			continue;
 
 		/*