diff --git a/src/backends/reference/RefTensorHandle.cpp b/src/backends/reference/RefTensorHandle.cpp
index 59ccec6..42ac7f0 100644
--- a/src/backends/reference/RefTensorHandle.cpp
+++ b/src/backends/reference/RefTensorHandle.cpp
@@ -35,7 +35,10 @@
     if (!m_Pool)
     {
         // unmanaged
-        ::operator delete(m_UnmanagedMemory);
+        if (!m_Imported)
+        {
+            ::operator delete(m_UnmanagedMemory);
+        }
     }
 }
 
@@ -110,6 +113,12 @@
             // Checks the 16 byte memory alignment.
             if (reinterpret_cast<uint64_t>(memory) % 16)
             {
+                if (m_Imported)
+                {
+                    m_Imported = false;
+                    m_UnmanagedMemory = nullptr;
+                }
+
                 return false;
             }
 
diff --git a/src/backends/reference/test/RefTensorHandleTests.cpp b/src/backends/reference/test/RefTensorHandleTests.cpp
index 8de03cf..2c5d6d4 100644
--- a/src/backends/reference/test/RefTensorHandleTests.cpp
+++ b/src/backends/reference/test/RefTensorHandleTests.cpp
@@ -54,7 +54,6 @@
     TensorInfo info({1}, DataType::Float32);
     RefTensorHandle handle(info, memoryManager, static_cast<unsigned int>(MemorySource::Malloc));
 
-    // This pointer will be deleted in the handle destructor
     int* testPtr = new int(4);
 
     // Not supported
@@ -65,6 +64,8 @@
 
     // Supported
     BOOST_CHECK(handle.Import(static_cast<void *>(testPtr), MemorySource::Malloc));
+
+    delete testPtr;
 }
 
 BOOST_AUTO_TEST_CASE(ReusePointer)
@@ -74,13 +75,14 @@
     TensorInfo info({1}, DataType::Float32);
     RefTensorHandle handle(info, memoryManager, static_cast<unsigned int>(MemorySource::Malloc));
 
-    // This pointer will be deleted in the handle destructor
     int* testPtr = new int(4);
 
     handle.Import(static_cast<void *>(testPtr), MemorySource::Malloc);
 
     // Reusing previously Imported pointer
     BOOST_CHECK(handle.Import(static_cast<void *>(testPtr), MemorySource::Malloc));
+
+    delete testPtr;
 }
 
 BOOST_AUTO_TEST_CASE(MisalignedPointer)
