diff --git a/applications/test/fieldTypes/Make/files b/applications/test/fieldTypes/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..03262d28e4653f20321116c9ce07dfdcc4e5b8bf
--- /dev/null
+++ b/applications/test/fieldTypes/Make/files
@@ -0,0 +1,3 @@
+Test-fieldTypes.C
+
+EXE = $(FOAM_USER_APPBIN)/Test-fieldTypes
diff --git a/applications/test/fieldTypes/Make/options b/applications/test/fieldTypes/Make/options
new file mode 100644
index 0000000000000000000000000000000000000000..3a7088aeeac0f70aca2914ffce68963629f3efca
--- /dev/null
+++ b/applications/test/fieldTypes/Make/options
@@ -0,0 +1,9 @@
+EXE_INC = \
+    -I$(LIB_SRC)/finiteArea/lnInclude \
+    -I${LIB_SRC}/finiteVolume/lnInclude \
+    -I${LIB_SRC}/meshTools/lnInclude \
+
+EXE_LIBS = \
+    -lfiniteArea \
+    -lfiniteVolume \
+    -lmeshTools
diff --git a/applications/test/fieldTypes/Test-fieldTypes.C b/applications/test/fieldTypes/Test-fieldTypes.C
new file mode 100644
index 0000000000000000000000000000000000000000..f46f936c567f995102c8976507d3ad780e565acb
--- /dev/null
+++ b/applications/test/fieldTypes/Test-fieldTypes.C
@@ -0,0 +1,63 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2018 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Application
+    Test-fieldTypes
+
+Description
+    Print fieldTypes
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "argList.H"
+#include "IOobject.H"
+#include "IOstreams.H"
+
+#include "areaFields.H"
+#include "fieldTypes.H"
+#include "pointFields.H"
+#include "volFields.H"
+
+using namespace Foam;
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// Main program:
+
+int main(int argc, char *argv[])
+{
+    argList::noParallel();
+
+    Info<< "basic:    " << flatOutput(fieldTypes::basic) << nl
+        << "area:     " << flatOutput(fieldTypes::area) << nl
+        << "volume:   " << flatOutput(fieldTypes::volume) << nl
+        << "internal: " << flatOutput(fieldTypes::internal) << nl
+        << "point:    " << flatOutput(fieldTypes::point) << nl
+        << endl;
+
+    Info<< "\nEnd\n" << endl;
+    return 0;
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/fields/Fields/fieldTypes.C b/src/OpenFOAM/fields/Fields/fieldTypes.C
index 9c1a8a55469f9c66f1dfa9e6b4d5c3de0eccd15b..207aff1af089a4fa3b17ac4d74778e7a74a977db 100644
--- a/src/OpenFOAM/fields/Fields/fieldTypes.C
+++ b/src/OpenFOAM/fields/Fields/fieldTypes.C
@@ -24,23 +24,19 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "fieldTypes.H"
-#include "labelIOField.H"
-#include "scalarIOField.H"
-#include "vectorIOField.H"
-#include "sphericalTensorIOField.H"
-#include "symmTensorIOField.H"
-#include "tensorIOField.H"
 
 // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * //
 
+// Note hard-coded values are more reliable than other alternatives
+
 const Foam::wordList Foam::fieldTypes::basic
 ({
-    Foam::labelIOField::typeName_(),
-    Foam::scalarIOField::typeName_(),
-    Foam::vectorIOField::typeName_(),
-    Foam::sphericalTensorIOField::typeName_(),
-    Foam::symmTensorIOField::typeName_(),
-    Foam::tensorIOField::typeName_()
+    "labelField",               //< labelIOField
+    "scalarField",              //< scalarIOField
+    "vectorField",              //< vectorOField
+    "sphericalTensorField",     //< sphericalTensorIOField
+    "symmTensorField",          //< symmTensorIOField
+    "tensorField"               //< tensorIOField
 });
 
 
diff --git a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C
index c115a066fc2aacc77cf174a3513a73125d59f1fc..16e0dabef5b30be793dc724b50fbb6a7cbed912f 100644
--- a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C
+++ b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C
@@ -56,13 +56,15 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * //
 
+// Note hard-coded values are more reliable than other alternatives
+
 const Foam::wordList Foam::fieldTypes::point
 ({
-    Foam::pointScalarField::typeName_(),
-    Foam::pointVectorField::typeName_(),
-    Foam::pointSphericalTensorField::typeName_(),
-    Foam::pointSymmTensorField::typeName_(),
-    Foam::pointTensorField::typeName_()
+    "pointScalarField",
+    "pointVectorField",
+    "pointSphericalTensorField",
+    "pointSymmTensorField",
+    "pointTensorField"
 });
 
 
diff --git a/src/finiteArea/fields/areaFields/areaFields.C b/src/finiteArea/fields/areaFields/areaFields.C
index 2090d7bb4616d15d7a6826be4800761e9036a090..4f4705c2d292d33d7039568d6bf5e70cea0bdf88 100644
--- a/src/finiteArea/fields/areaFields/areaFields.C
+++ b/src/finiteArea/fields/areaFields/areaFields.C
@@ -79,13 +79,15 @@ void GeometricField<scalar, faPatchField, areaMesh>::replace
 
 // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * //
 
+// Note hard-coded values are more reliable than other alternatives
+
 const Foam::wordList Foam::fieldTypes::area
 ({
-    Foam::areaScalarField::typeName_(),
-    Foam::areaVectorField::typeName_(),
-    Foam::areaSphericalTensorField::typeName_(),
-    Foam::areaSymmTensorField::typeName_(),
-    Foam::areaTensorField::typeName_()
+    "areaScalarField",
+    "areaVectorField",
+    "areaSphericalTensorField",
+    "areaSymmTensorField",
+    "areaTensorField"
 });
 
 
diff --git a/src/finiteVolume/fields/volFields/volFields.C b/src/finiteVolume/fields/volFields/volFields.C
index 30b1de4c45c697d7640994517d8be446fced098c..3ee98c4de7a2fdc2b42fcf53a7889a1b7800d28e 100644
--- a/src/finiteVolume/fields/volFields/volFields.C
+++ b/src/finiteVolume/fields/volFields/volFields.C
@@ -85,23 +85,25 @@ void GeometricField<scalar, fvPatchField, volMesh>::replace
 
 // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * //
 
+// Note hard-coded values are more reliable than other alternatives
+
 const Foam::wordList Foam::fieldTypes::internal
 ({
-    Foam::volScalarField::Internal::typeName_(),
-    Foam::volVectorField::Internal::typeName_(),
-    Foam::volSphericalTensorField::Internal::typeName_(),
-    Foam::volSymmTensorField::Internal::typeName_(),
-    Foam::volTensorField::Internal::typeName_()
+    "volScalarField::Internal",
+    "volVectorField::Internal",
+    "volSphericalTensorField::Internal",
+    "volSymmTensorField::Internal",
+    "volTensorField::Internal"
 });
 
 
 const Foam::wordList Foam::fieldTypes::volume
 ({
-    Foam::volScalarField::typeName_(),
-    Foam::volVectorField::typeName_(),
-    Foam::volSphericalTensorField::typeName_(),
-    Foam::volSymmTensorField::typeName_(),
-    Foam::volTensorField::typeName_()
+    "volScalarField",
+    "volVectorField",
+    "volSphericalTensorField",
+    "volSymmTensorField",
+    "volTensorField"
 });