diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index c0cfe42..e89c6fe 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -215,11 +215,11 @@
 }
 
 IConnectableLayer* INetwork::AddPrecompiledLayer(const PreCompiledDescriptor& preCompiledDescriptor,
-                                                 CompiledBlobPtr& compiledBlobPtr,
+                                                 CompiledBlobPtr compiledBlobPtr,
                                                  const Optional<BackendId>& backend,
                                                  const char* name)
 {
-    return pNetworkImpl->AddPrecompiledLayer(preCompiledDescriptor, compiledBlobPtr, backend, name);
+    return pNetworkImpl->AddPrecompiledLayer(preCompiledDescriptor, std::move(compiledBlobPtr), backend, name);
 }
 
 IConnectableLayer* INetwork::AddActivationLayer(const ActivationDescriptor& activationDescriptor,
@@ -2772,7 +2772,7 @@
 }
 
 IConnectableLayer* NetworkImpl::AddPrecompiledLayer(const PreCompiledDescriptor& preCompiledDescriptor,
-                                                    CompiledBlobPtr& compiledBlobPtr,
+                                                    CompiledBlobPtr compiledBlobPtr,
                                                     const Optional<BackendId>& backend,
                                                     const char* name)
 {
