diff --git a/project/msm8996.mk b/project/msm8996.mk
index aa9fb8e..b6f7603 100644
--- a/project/msm8996.mk
+++ b/project/msm8996.mk
@@ -21,7 +21,6 @@
 ENABLE_QGIC3 := 1
 ENABLE_SECAPP_LOADER := 1
 ENABLE_PARTIAL_GOODS_SUPPORT := 1
-ENABLE_RPMB_SUPPORT := 1
 ENABLE_GLINK_SUPPORT := 1
 ENABLE_PWM_SUPPORT := true
 ENABLE_LPAE_SUPPORT := 1
@@ -54,6 +53,7 @@
 ifeq ($(VERIFIED_BOOT),1)
 #enable fbcon display menu
 ENABLE_FBCON_DISPLAY_MSG := 1
+ENABLE_RPMB_SUPPORT := 1
 endif
 
 ifeq ($(ENABLE_FBCON_DISPLAY_MSG),1)
diff --git a/target/msm8996/init.c b/target/msm8996/init.c
index 539d98d..4e9825e 100644
--- a/target/msm8996/init.c
+++ b/target/msm8996/init.c
@@ -179,7 +179,9 @@
 		mmc_put_card_to_sleep(dev);
 	}
 
-	if (is_sec_app_loaded())
+#if VERIFIED_BOOT
+	if (target_get_vb_version() == VB_V2 &&
+		is_sec_app_loaded())
 	{
 		if (send_milestone_call_to_tz() < 0)
 		{
@@ -187,6 +189,7 @@
 			ASSERT(0);
 		}
 	}
+#endif
 
 #if ENABLE_WBC
 	if (board_hardware_id() == HW_PLATFORM_MTP)
@@ -203,11 +206,16 @@
 	/* Tear down glink channels */
 	rpm_glink_uninit();
 
-	if (rpmb_uninit() < 0)
+#if VERIFIED_BOOT
+	if (target_get_vb_version() == VB_V2)
 	{
-		dprintf(CRITICAL, "RPMB uninit failed\n");
-		ASSERT(0);
+		if (rpmb_uninit() < 0)
+		{
+			dprintf(CRITICAL, "RPMB uninit failed\n");
+			ASSERT(0);
+		}
 	}
+#endif
 
 }
 
@@ -329,7 +337,6 @@
 
 void target_init(void)
 {
-	int ret = 0;
 	dprintf(INFO, "target_init()\n");
 
 	pmic_info_populate();
@@ -397,38 +404,39 @@
 	};
 #endif
 
-	/* Initialize Qseecom */
-	ret = qseecom_init();
-
-	if (ret < 0)
+#if VERIFIED_BOOT
+	if (VB_V2 == target_get_vb_version())
 	{
-		dprintf(CRITICAL, "Failed to initialize qseecom, error: %d\n", ret);
-		ASSERT(0);
-	}
+		/* Initialize Qseecom */
+		if (qseecom_init() < 0)
+		{
+			dprintf(CRITICAL, "Failed to initialize qseecom\n");
+			ASSERT(0);
+		}
 
-	/* Start Qseecom */
-	ret = qseecom_tz_init();
+		/* Start Qseecom */
+		if (qseecom_tz_init() < 0)
+		{
+			dprintf(CRITICAL, "Failed to start qseecom\n");
+			ASSERT(0);
+		}
 
-	if (ret < 0)
-	{
-		dprintf(CRITICAL, "Failed to start qseecom, error: %d\n", ret);
-		ASSERT(0);
-	}
+		if (rpmb_init() < 0)
+		{
+			dprintf(CRITICAL, "RPMB init failed\n");
+			ASSERT(0);
+		}
 
-	if (rpmb_init() < 0)
-	{
-		dprintf(CRITICAL, "RPMB init failed\n");
-		ASSERT(0);
+		/*
+		 * Load the sec app for first time
+		 */
+		if (load_sec_app() < 0)
+		{
+			dprintf(CRITICAL, "Failed to load App for verified\n");
+			ASSERT(0);
+		}
 	}
-
-	/*
-	 * Load the sec app for first time
-	 */
-	if (load_sec_app() < 0)
-	{
-		dprintf(CRITICAL, "Failed to load App for verified\n");
-		ASSERT(0);
-	}
+#endif
 }
 
 unsigned board_machtype(void)
