diff --git a/base-codezero/src/core/platform_thread.cc b/base-codezero/src/core/platform_thread.cc
index 1c1929992f..a3f16a5f2d 100644
--- a/base-codezero/src/core/platform_thread.cc
+++ b/base-codezero/src/core/platform_thread.cc
@@ -39,7 +39,7 @@ int Platform_thread::start(void *ip, void *sp, unsigned int cpu_no)
 
 	/* setup thread context */
 	struct exregs_data exregs;
-	exregs.flags = 0;
+	memset(&exregs, 0, sizeof(exregs));
 	exregs_set_stack(&exregs, (unsigned long)sp);
 	exregs_set_pc   (&exregs, (unsigned long)ip);
 	exregs_set_pager(&exregs, pager.tid);
diff --git a/base-codezero/src/core/thread_start.cc b/base-codezero/src/core/thread_start.cc
index 8df438f489..58e4b9f46c 100644
--- a/base-codezero/src/core/thread_start.cc
+++ b/base-codezero/src/core/thread_start.cc
@@ -67,6 +67,7 @@ inline int create_thread(unsigned space_no,
 
 	/* setup thread context */
 	struct exregs_data exregs;
+	memset(&exregs, 0, sizeof(exregs));
 	exregs_set_stack(&exregs, (unsigned long)sp);
 	exregs_set_pc   (&exregs, (unsigned long)ip);
 	exregs_set_pager(&exregs, pager_tid);