diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/MapDimensionedFields.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/MapDimensionedFields.H
index 6520eaec2fa98fffa427984a3df10657515667fd..b96c6ca666c0a783bf5d7997342b9501def880bc 100644
--- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/MapDimensionedFields.H
+++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/MapDimensionedFields.H
@@ -45,10 +45,19 @@ void MapDimensionedFields(const MeshMapper& mapper)
     typedef DimensionedField<Type, GeoMesh> FieldType;
     typedef HashTable<const FieldType*> TableType;
 
-    TableType fields
-    (
-        mapper.thisDb().objectRegistry::template lookupClass<FieldType>(true)
-    );
+    TableType fields(mapper.thisDb().size());
+
+    forAllConstIter(objectRegistry, mapper.thisDb(), iter)
+    {
+        if (isType<FieldType>(*iter()))
+        {
+            fields.insert
+            (
+                iter()->name(),
+                dynamic_cast<const FieldType*>(iter())
+            );
+        }
+    }
 
     forAllConstIter(typename TableType, fields, fieldIter)
     {