diff --git a/lib/modem-commands.js b/lib/modem-commands.js
index b00f724..66a38ea 100644
--- a/lib/modem-commands.js
+++ b/lib/modem-commands.js
@@ -60,6 +60,7 @@ exports.queryIMEI = function queryIMEI() {
         const parser = new ParserRegex({ regex: parsers.PARSER_WAIT_FOR_OK_OR_ERROR_REGEX });
         parser.on('data', (data) => {
             logger.verbose('INCOMING', { parser: 'parserIMEI', data: data.toString() });
+            port.unpipe(parser);
             mutex.unlock(MUTEX_COMMAND, 'queryIMEI');
             resolve();
         });
@@ -68,6 +69,5 @@ exports.queryIMEI = function queryIMEI() {
 
         port.pipe(parser);
         await writeToPort('AT+CGSN\r');
-        port.unpipe(parser);
     });
 };