diff --git a/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C
index b05194988400ecd21b7e431f4ef4aa0808cf832b..7e53591c64243029bc414605b66d581231faf074 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/functionEntry/functionEntry.C
@@ -63,6 +63,17 @@ bool Foam::functionEntry::insert
         "primitiveEntry& entry, Istream& is)"
     );
 
+    if (!insertprimitiveEntryIstreamMemberFunctionTablePtr_)
+    {
+        cerr<<"functionEntry::insert"
+            << "(const word&, dictionary&, primitiveEntry&, Istream&)"
+            << " not yet initialized, function = "
+            << functionName.c_str() << std::endl;
+
+        // return true to keep reading anyhow
+        return true;
+    }
+
     insertprimitiveEntryIstreamMemberFunctionTable::iterator mfIter =
         insertprimitiveEntryIstreamMemberFunctionTablePtr_->find(functionName);
 
@@ -97,6 +108,17 @@ bool Foam::functionEntry::insert
         "(const word& functionName, dictionary& parentDict, Istream& is)"
     );
 
+    if (!insertdictionaryIstreamMemberFunctionTablePtr_)
+    {
+        cerr<<"functionEntry::insert"
+            << "(const word&, dictionary&, Istream&)"
+            << " not yet initialized, function = "
+            << functionName.c_str() << std::endl;
+
+        // Return true to keep reading
+        return true;
+    }
+
     insertdictionaryIstreamMemberFunctionTable::iterator mfIter =
         insertdictionaryIstreamMemberFunctionTablePtr_->find(functionName);