diff --git a/applications/message_handler/message_handler.cpp b/applications/message_handler/message_handler.cpp
index f109dc8..4a3938e 100644
--- a/applications/message_handler/message_handler.cpp
+++ b/applications/message_handler/message_handler.cpp
@@ -383,12 +383,16 @@
 
     void *buffer;
     size_t size;
-    getNetwork(network, buffer, size);
-    bool failed = parser.parseModel(buffer,
-                                    rsp.desc,
-                                    InferenceProcess::makeArray(rsp.ifm_size, rsp.ifm_count, ETHOSU_CORE_BUFFER_MAX),
-                                    InferenceProcess::makeArray(rsp.ofm_size, rsp.ofm_count, ETHOSU_CORE_BUFFER_MAX));
-    rsp.status  = failed ? ETHOSU_CORE_STATUS_ERROR : ETHOSU_CORE_STATUS_OK;
+
+    bool failed = getNetwork(network, buffer, size);
+
+    if (!failed) {
+        failed = parser.parseModel(buffer,
+                                   rsp.desc,
+                                   InferenceProcess::makeArray(rsp.ifm_size, rsp.ifm_count, ETHOSU_CORE_BUFFER_MAX),
+                                   InferenceProcess::makeArray(rsp.ofm_size, rsp.ofm_count, ETHOSU_CORE_BUFFER_MAX));
+    }
+    rsp.status = failed ? ETHOSU_CORE_STATUS_ERROR : ETHOSU_CORE_STATUS_OK;
 
     if (!outputMessageQueue.write(ETHOSU_CORE_MSG_NETWORK_INFO_RSP, rsp)) {
         printf("ERROR: Msg: Failed to write network info response. No mailbox message sent\n");
