diff --git a/src/OpenFOAM/memory/autoPtr/autoPtr.H b/src/OpenFOAM/memory/autoPtr/autoPtr.H
index a8802f23a92ad193948fd9b18f427a563439500c..00b8ed7809ff7b5c335574dadcec10c230052f62 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtr.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtr.H
@@ -106,11 +106,19 @@ public:
 
         // Access
 
-            //- Return reference, without checking pointer validity.
-            inline T& refOrNull();
+            //- Return the pointer, without nullptr checking.
+            //  Pointer remains under autoPtr management.
+            inline T* rawPtr();
 
-            //- Return const reference, without checking pointer validity.
-            inline const T& refOrNull() const;
+            //- Const access to the pointer, without nullptr checking.
+            //  Pointer remains under autoPtr management.
+            inline const T* rawPtr() const;
+
+            //- Return the reference, without nullptr checking.
+            inline T& rawRef();
+
+            //- Return the const reference, without nullptr checking.
+            inline const T& rawRef() const;
 
 
         // Member operators
diff --git a/src/OpenFOAM/memory/autoPtr/autoPtrI.H b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
index 7440bdce690c581572bc0a567e121be7c26defff..c1e6b144643f11ede8e1e4795dfa0e7434e30c82 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtrI.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
@@ -130,14 +130,28 @@ inline void Foam::autoPtr<T>::clear()
 
 
 template<class T>
-inline T& Foam::autoPtr<T>::refOrNull()
+inline T* Foam::autoPtr<T>::rawPtr()
+{
+    return ptr_;
+}
+
+
+template<class T>
+inline const T* Foam::autoPtr<T>::rawPtr() const
+{
+    return ptr_;
+}
+
+
+template<class T>
+inline T& Foam::autoPtr<T>::rawRef()
 {
     return *ptr_;
 }
 
 
 template<class T>
-inline const T& Foam::autoPtr<T>::refOrNull() const
+inline const T& Foam::autoPtr<T>::rawRef() const
 {
     return *ptr_;
 }