diff --git a/ArmnnPreparedModel.hpp b/ArmnnPreparedModel.hpp
index 505538a..b9d89d4 100644
--- a/ArmnnPreparedModel.hpp
+++ b/ArmnnPreparedModel.hpp
@@ -42,8 +42,8 @@
                        const bool gpuProfilingEnabled,
                        const bool asyncModelExecutionEnabled = false,
                        const unsigned int numberOfThreads = 1,
-                       const bool importEnabled = true,
-                       const bool exportEnabled = true);
+                       const bool importEnabled = false,
+                       const bool exportEnabled = false);
 
     virtual ~ArmnnPreparedModel();
 
diff --git a/ArmnnPreparedModel_1_2.hpp b/ArmnnPreparedModel_1_2.hpp
index 8f35d7b..57deb98 100644
--- a/ArmnnPreparedModel_1_2.hpp
+++ b/ArmnnPreparedModel_1_2.hpp
@@ -48,8 +48,8 @@
                            const bool gpuProfilingEnabled,
                            const bool asyncModelExecutionEnabled = false,
                            const unsigned int numberOfThreads = 1,
-                           const bool importEnabled = true,
-                           const bool exportEnabled = true);
+                           const bool importEnabled = false,
+                           const bool exportEnabled = false);
 
     ArmnnPreparedModel_1_2(armnn::NetworkId networkId,
                            armnn::IRuntime* runtime,
@@ -57,8 +57,8 @@
                            const bool gpuProfilingEnabled,
                            const bool asyncModelExecutionEnabled = false,
                            const unsigned int numberOfThreads = 1,
-                           const bool importEnabled = true,
-                           const bool exportEnabled = true,
+                           const bool importEnabled = false,
+                           const bool exportEnabled = false,
                            const bool preparedFromCache = false);
 
     virtual ~ArmnnPreparedModel_1_2();
diff --git a/ArmnnPreparedModel_1_3.hpp b/ArmnnPreparedModel_1_3.hpp
index 42d7dab..6c1c5c2 100644
--- a/ArmnnPreparedModel_1_3.hpp
+++ b/ArmnnPreparedModel_1_3.hpp
@@ -56,8 +56,8 @@
                            V1_3::Priority priority = V1_3::Priority::MEDIUM,
                            const bool asyncModelExecutionEnabled = false,
                            const unsigned int numberOfThreads = 1,
-                           const bool importEnabled = true,
-                           const bool exportEnabled = true);
+                           const bool importEnabled = false,
+                           const bool exportEnabled = false);
 
     ArmnnPreparedModel_1_3(armnn::NetworkId networkId,
                            armnn::IRuntime* runtime,
@@ -66,8 +66,8 @@
                            V1_3::Priority priority = V1_3::Priority::MEDIUM,
                            const bool asyncModelExecutionEnabled = false,
                            const unsigned int numberOfThreads = 1,
-                           const bool importEnabled = true,
-                           const bool exportEnabled = true,
+                           const bool importEnabled = false,
+                           const bool exportEnabled = false,
                            const bool preparedFromCache = false);
 
     virtual ~ArmnnPreparedModel_1_3();
diff --git a/DriverOptions.cpp b/DriverOptions.cpp
index 9cfbabf..42d932c 100644
--- a/DriverOptions.cpp
+++ b/DriverOptions.cpp
@@ -40,8 +40,8 @@
     , m_NumberOfThreads(0)
     , m_EnableAsyncModelExecution(false)
     , m_ArmnnNumberOfThreads(1)
-    , m_EnableImport(true)
-    , m_EnableExport(true)
+    , m_EnableImport(false)
+    , m_EnableExport(false)
 {
 }
 
@@ -58,8 +58,8 @@
     , m_NumberOfThreads(0)
     , m_EnableAsyncModelExecution(false)
     , m_ArmnnNumberOfThreads(1)
-    , m_EnableImport(true)
-    , m_EnableExport(true)
+    , m_EnableImport(false)
+    , m_EnableExport(false)
 {
 }
 
@@ -75,8 +75,8 @@
     , m_NumberOfThreads(0)
     , m_EnableAsyncModelExecution(false)
     , m_ArmnnNumberOfThreads(1)
-    , m_EnableImport(true)
-    , m_EnableExport(true)
+    , m_EnableImport(false)
+    , m_EnableExport(false)
 {
     std::string unsupportedOperationsAsString;
     std::string clTunedParametersModeAsString;
@@ -177,10 +177,10 @@
          cxxopts::value<unsigned int>(m_ArmnnNumberOfThreads)->default_value("1"))
 
         ("I,enableImport", "Enable Importing of input buffers",
-         cxxopts::value<bool>(m_EnableImport)->default_value("true"))
+         cxxopts::value<bool>(m_EnableImport)->default_value("false"))
 
         ("E,enableExport", "Enable Exporting of output buffers",
-         cxxopts::value<bool>(m_EnableExport)->default_value("true"));
+         cxxopts::value<bool>(m_EnableExport)->default_value("false"));
     }
     catch (const std::exception& e)
     {
