diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.C b/src/OpenFOAM/db/regIOobject/regIOobject.C
index 1669a43174b4fed6656d85356b72026d813a9aa2..d7aca3a4e9f09adbc935c3841755cda945eb53e1 100644
--- a/src/OpenFOAM/db/regIOobject/regIOobject.C
+++ b/src/OpenFOAM/db/regIOobject/regIOobject.C
@@ -96,9 +96,12 @@ Foam::regIOobject::regIOobject(const regIOobject& rio, bool registerCopy)
     eventNo_(db().getEvent()),
     isPtr_(nullptr)
 {
-    if (registerCopy && rio.registered_)
+    if (registerCopy)
     {
-        const_cast<regIOobject&>(rio).checkOut();
+        if (rio.registered_)
+        {
+            const_cast<regIOobject&>(rio).checkOut();
+        }
         checkIn();
     }
 }