diff --git a/media_driver/agnostic/common/os/mos_os.h b/media_driver/agnostic/common/os/mos_os.h
index 04692d6..61c9038 100644
--- a/media_driver/agnostic/common/os/mos_os.h
+++ b/media_driver/agnostic/common/os/mos_os.h
@@ -253,6 +253,13 @@
     int32_t                 bDisableLockForTranscode;   //!< Disable the lock function for transcode perf.
 } MOS_SYNC_PARAMS, *PMOS_SYNC_PARAMS;
 
+typedef enum _MOS_SCALABILITY_ENABLE_MODE
+{
+    MOS_SCALABILITY_ENABLE_MODE_FALSE      = 0,
+    MOS_SCALABILITY_ENABLE_MODE_DEFAULT    = 0x0001,
+    MOS_SCALABILITY_ENABLE_MODE_USER_FORCE = 0x0010
+} MOS_SCALABILITY_ENABLE_MODE;
+
 #if (_DEBUG || _RELEASE_INTERNAL)
 //!
 //! \brief for forcing VDBOX
@@ -283,13 +290,6 @@
     MOS_FORCE_VEBOX_1_2_3_4 = 0x1234
 } MOS_FORCE_VEBOX;
 
-typedef enum _MOS_SCALABILITY_ENABLE_MODE
-{
-    MOS_SCALABILITY_ENABLE_MODE_FALSE      = 0,
-    MOS_SCALABILITY_ENABLE_MODE_DEFAULT    = 0x0001,
-    MOS_SCALABILITY_ENABLE_MODE_USER_FORCE = 0x0010
-} MOS_SCALABILITY_ENABLE_MODE;
-
 #define MOS_FORCEVEBOX_VEBOXID_BITSNUM              4 //each VEBOX ID occupies 4 bits see defintion MOS_FORCE_VEBOX
 #define MOS_FORCEVEBOX_MASK                         0xf
 
diff --git a/media_driver/linux/common/os/mos_interface.cpp b/media_driver/linux/common/os/mos_interface.cpp
index 85a1eb0..f2d5b4a 100644
--- a/media_driver/linux/common/os/mos_interface.cpp
+++ b/media_driver/linux/common/os/mos_interface.cpp
@@ -144,6 +144,7 @@
     EXTRA_PARAMS         extraParams)
 {
     MOS_USER_FEATURE_VALUE_DATA userFeatureData     = {};
+    MOS_STATUS                  eStatusUserFeature  = MOS_STATUS_SUCCESS;
 
     MOS_OS_FUNCTION_ENTER;
     MOS_OS_CHK_NULL_RETURN(streamState);
@@ -211,7 +212,7 @@
     //1:by default for scalable decode mode
     //0:for legacy decode mode
     MosUtilities::MosZeroMemory(&userFeatureData, sizeof(userFeatureData));
-    MOS_STATUS eStatusUserFeature = MosUtilities::MosUserFeatureReadValueID(
+    eStatusUserFeature = MosUtilities::MosUserFeatureReadValueID(
         nullptr,
         __MEDIA_USER_FEATURE_VALUE_ENABLE_HCP_SCALABILITY_DECODE_ID,
         &userFeatureData,
@@ -250,6 +251,7 @@
         &userFeatureData,
         (MOS_CONTEXT_HANDLE) nullptr);
     (*streamState)->enableDbgOvrdInVirtualEngine = userFeatureData.u32Data ? true : false;
+#endif
 
     if (component == COMPONENT_VPCommon ||
         component == COMPONENT_VPreP    ||
@@ -264,6 +266,8 @@
             &userFeatureData,
             (MOS_CONTEXT_HANDLE) nullptr);
         (*streamState)->veboxScalabilityMode = userFeatureData.u32Data ? MOS_SCALABILITY_ENABLE_MODE_DEFAULT : MOS_SCALABILITY_ENABLE_MODE_FALSE;
+
+#if (_DEBUG || _RELEASE_INTERNAL)
         if((*streamState)->veboxScalabilityMode
             && (eStatusUserFeature == MOS_STATUS_SUCCESS))
         {
@@ -292,8 +296,8 @@
             &userFeatureData,
             (MOS_CONTEXT_HANDLE) nullptr);
         (*streamState)->eForceVebox = (MOS_FORCE_VEBOX)userFeatureData.u32Data;
-    }
 #endif
+    }
 
     MOS_USER_FEATURE_VALUE_WRITE_DATA userFeatureWriteData = __NULL_USER_FEATURE_VALUE_WRITE_DATA__;
     // Report if pre-si environment is in use
diff --git a/media_driver/linux/common/os/mos_os_specific.c b/media_driver/linux/common/os/mos_os_specific.c
index 6fda6f2..b6251e7 100644
--- a/media_driver/linux/common/os/mos_os_specific.c
+++ b/media_driver/linux/common/os/mos_os_specific.c
@@ -7220,10 +7220,12 @@
     PLATFORM                            Platform;
     MOS_STATUS                          eStatus;
     MOS_USER_FEATURE_VALUE_DATA         userFeatureData;
+    MOS_STATUS                          eStatusUserFeature;
 
     MOS_OS_FUNCTION_ENTER;
 
     eStatus = MOS_STATUS_SUCCESS;
+    eStatusUserFeature = MOS_STATUS_SUCCESS;
 
     // Get platform information
     memset(&Platform, 0, sizeof(PLATFORM));
@@ -7252,7 +7254,7 @@
         //1:by default for scalable decode mode
         //0:for legacy decode mode
         MOS_ZeroMemory(&userFeatureData, sizeof(userFeatureData));
-        MOS_STATUS eStatusUserFeature = MOS_UserFeature_ReadValue_ID(
+        eStatusUserFeature = MOS_UserFeature_ReadValue_ID(
             NULL,
             __MEDIA_USER_FEATURE_VALUE_ENABLE_HCP_SCALABILITY_DECODE_ID,
             &userFeatureData,
@@ -7301,6 +7303,7 @@
             &userFeatureData,
             nullptr);
         osInterface->bEnableDbgOvrdInVE = userFeatureData.u32Data ? true : false;
+#endif
 
         // UMD Vebox Virtual Engine Scalability Mode
         // 0: disable. can set to 1 only when KMD VE is enabled.
@@ -7311,6 +7314,8 @@
             &userFeatureData,
             nullptr);
         osInterface->bVeboxScalabilityMode = userFeatureData.u32Data ? MOS_SCALABILITY_ENABLE_MODE_DEFAULT : MOS_SCALABILITY_ENABLE_MODE_FALSE;
+
+#if (_DEBUG || _RELEASE_INTERNAL)
         if(osInterface->bVeboxScalabilityMode
             && (eStatusUserFeature == MOS_STATUS_SUCCESS))
         {
@@ -7337,7 +7342,6 @@
             &userFeatureData,
             nullptr);
         osInterface->eForceVebox = (MOS_FORCE_VEBOX)userFeatureData.u32Data;
-
 #endif
     }
 
