diff --git a/applications/message_handler_openamp/inference_runner.cpp b/applications/message_handler_openamp/inference_runner.cpp
index bf07819..659d685 100644
--- a/applications/message_handler_openamp/inference_runner.cpp
+++ b/applications/message_handler_openamp/inference_runner.cpp
@@ -51,7 +51,7 @@
                                  MessageHandler::InferenceQueue &_inferenceQueue,
                                  MessageHandler::ResponseQueue &_responseQueue) :
     inferenceQueue(_inferenceQueue),
-    responseQueue(_responseQueue), inference(tensorArena, arenaSize) {
+    responseQueue(_responseQueue), inference(tensorArena, arenaSize), taskHandle() {
     BaseType_t ret = xTaskCreate(inferenceTask, "inferenceTask", 8 * 1024, this, 4, &taskHandle);
     if (ret != pdPASS) {
         LOG_ERR("Failed to create inference task");
diff --git a/applications/message_handler_openamp/message_handler.cpp b/applications/message_handler_openamp/message_handler.cpp
index fa93a48..dfed04c 100644
--- a/applications/message_handler_openamp/message_handler.cpp
+++ b/applications/message_handler_openamp/message_handler.cpp
@@ -109,7 +109,7 @@
  *****************************************************************************/
 
 MessageHandler::MessageHandler(RProc &_rproc, const char *const _name) :
-    Rpmsg(_rproc, _name), capabilities(getCapabilities()) {
+    Rpmsg(_rproc, _name), inferenceQueue(), responseQueue(), capabilities(getCapabilities()), taskHandle() {
     BaseType_t ret = xTaskCreate(responseTask, "responseTask", 1024, this, 3, &taskHandle);
     if (ret != pdPASS) {
         LOG_ERR("Failed to create response task");
diff --git a/applications/message_handler_openamp/remoteproc.cpp b/applications/message_handler_openamp/remoteproc.cpp
index c2db93a..48dd4e8 100644
--- a/applications/message_handler_openamp/remoteproc.cpp
+++ b/applications/message_handler_openamp/remoteproc.cpp
@@ -44,7 +44,8 @@
  *****************************************************************************/
 
 RProc::RProc(Mailbox::Mailbox &_mailbox, resource_table &table, size_t tableSize) :
-    mailbox(_mailbox), ops({}), vdev(nullptr), mems(), regions(), notifySemaphore(xSemaphoreCreateBinary()) {
+    mailbox(_mailbox), ops({}), vdev(nullptr), rsc_mem(), rsc_region(), mems(), regions(),
+    notifySemaphore(xSemaphoreCreateBinary()), notifyHandle() {
     ops.init       = init;       // initialize the remoteproc instance
     ops.remove     = remove;     // remove the remoteproc instance
     ops.handle_rsc = handle_rsc; // handle the vendor specific resource
