diff --git a/base/src/host/lib/context.c b/base/src/host/lib/context.c
index 1320d85..d6c7ad5 100644
--- a/base/src/host/lib/context.c
+++ b/base/src/host/lib/context.c
@@ -43,10 +43,14 @@
 #include "mars/base.h"
 #include "mars/context.h"
 #include "mars/error.h"
+#include "mars/mutex.h"
 #include "mars/workload_queue.h"
 
-#include "context_internal.h"
+#include "callback_internal_types.h"
 #include "kernel_internal_types.h"
+#include "workload_internal_types.h"
+
+#include "context_internal.h"
 
 uint32_t mars_get_ticks(void)
 {
@@ -148,6 +152,33 @@
 	return MARS_SUCCESS;
 }
 
+static int system_sanity_check(void)
+{
+	if ((MARS_CALLBACK_ARGS_SIZE !=
+		sizeof(struct mars_callback_args)) ||
+	    (MARS_CALLBACK_QUEUE_SIZE !=
+		sizeof(struct mars_callback_queue)) ||
+	    (MARS_KERNEL_PARAMS_SIZE !=
+		sizeof(struct mars_kernel_params)) ||
+	    (MARS_MUTEX_SIZE !=
+		sizeof(struct mars_mutex)) ||
+	    (MARS_WORKLOAD_CALLBACK_SIZE !=
+		sizeof(struct mars_workload_callback)) ||
+	    (MARS_WORKLOAD_CONTEXT_SIZE !=
+		sizeof(struct mars_workload_context)) ||
+	    (MARS_WORKLOAD_MODULE_SIZE !=
+		sizeof(struct mars_workload_module)) ||
+	    (MARS_WORKLOAD_QUEUE_SIZE !=
+		sizeof(struct mars_workload_queue)) ||
+	    (MARS_WORKLOAD_QUEUE_HEADER_SIZE !=
+		sizeof(struct mars_workload_queue_header)) ||
+	    (MARS_WORKLOAD_QUEUE_BLOCK_SIZE !=
+		sizeof(struct mars_workload_queue_block)))
+		return MARS_ERROR_INTERNAL;
+
+	return MARS_SUCCESS;
+}
+
 int mars_context_create(struct mars_context **mars_ret, uint32_t num_mpus,
 			uint8_t shared)
 {
@@ -168,6 +199,11 @@
 	if (!num_mpus)
 		num_mpus = num_mpus_max;
 
+	/* system sanity check */
+	ret = system_sanity_check();
+	if (ret != MARS_SUCCESS)
+		return ret;
+
 	/* lock mutex */
 	ret = mars_host_mutex_lock(&mars_shared_context_lock);
 	if (ret != MARS_SUCCESS)
