diff --git a/src/matlab/+D3d/IsOpen.m b/src/matlab/+D3d/IsOpen.m
new file mode 100644
index 0000000000000000000000000000000000000000..be0b4d73fd04c97776a0a05d7a3aa58472ce9c6c
--- /dev/null
+++ b/src/matlab/+D3d/IsOpen.m
@@ -0,0 +1,8 @@
+function isOpen = IsOpen()
+    global D3dIsOpen
+
+    isOpen = false;
+    if (~isempty(D3dIsOpen))
+        isOpen = D3dIsOpen;
+    end
+end
diff --git a/src/matlab/+D3d/Open.m b/src/matlab/+D3d/Open.m
index 21d355ade72b2cf623979d7bbbd3b367cb701c6e..23567a5e59b6d4d98f45469b52b712003df44588 100644
--- a/src/matlab/+D3d/Open.m
+++ b/src/matlab/+D3d/Open.m
@@ -31,9 +31,8 @@ function [varargout] = Open( im, imData, imagePath, mesagePkgStr )
     else
         EXT_MESAGE_FUNC = mesagePkgStr;
     end
-    if (isempty(D3dIsOpen))
-        D3dIsOpen = false;
-    end
+    
+    D3dIsOpen = D3d.IsOpen();
     
     %% check for missing data that we might need and load
     openedMetadata = false;