diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.C
index 5432ece12f17da1bd769826dfc335f5e3ede871f..22a1e1b0f78eac1631b19d8594f39c8f513635cf 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.C
@@ -118,6 +118,12 @@ Foam::genericPolyPatch::~genericPolyPatch()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+const Foam::word& Foam::genericPolyPatch::actualType() const
+{
+    return actualTypeName_;
+}
+
+
 void Foam::genericPolyPatch::write(Ostream& os) const
 {
     os.writeKeyword("type") << actualTypeName_ << token::END_STATEMENT << nl;
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.H
index 6a22d8af6f504cf9ef1c0e4d61323112403a4702..ac412bcae005fdff9695aeb4f9a639fe572dab1f 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/basic/generic/genericPolyPatch.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -25,8 +25,9 @@ Class
     Foam::genericPolyPatch
 
 Description
-    Substitute for unknown patches. Used for postprocessing when only
-    basic polyPatch info is needed.
+    Substitute for unknown patches.
+    Used for postprocessing when only basic polyPatch info is needed
+    or if the real patch type is unavailable.
 
 Note
     Storage is not optimal. It stores all face centres and cells on all
@@ -57,7 +58,7 @@ class genericPolyPatch
 {
     // Private data
 
-        word actualTypeName_;
+        const word actualTypeName_;
         dictionary dict_;
 
 public:
@@ -162,6 +163,9 @@ public:
 
     // Member functions
 
+        //- Return the actual type
+        const word& actualType() const;
+
         //- Write the polyPatch data as a dictionary
         virtual void write(Ostream&) const;
 };
diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
index 374aa5eac6cd7bedc586b7653846a152b1d48153..52378876442ee0a465821868391f1287c0ba5d9f 100644
--- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
+++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
@@ -764,6 +764,13 @@ Foam::genericFvPatchField<Type>::gradientBoundaryCoeffs() const
 }
 
 
+template<class Type>
+const Foam::word& Foam::genericFvPatchField<Type>::actualType() const
+{
+    return actualTypeName_;
+}
+
+
 template<class Type>
 void Foam::genericFvPatchField<Type>::write(Ostream& os) const
 {
diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H
index ec3be385b42172f4d6d0f63a48b1ad77890eec05..88091b90bbe277ca242405559d715af3a05edbd4 100644
--- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H
+++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H
@@ -59,7 +59,7 @@ class genericFvPatchField
 {
     // Private data
 
-        word actualTypeName_;
+        const word actualTypeName_;
         dictionary dict_;
 
         HashPtrTable<scalarField> scalarFields_;
@@ -179,6 +179,9 @@ public:
             tmp<Field<Type>> gradientBoundaryCoeffs() const;
 
 
+        //- Return the actual type
+        const word& actualType() const;
+
         //- Write
         virtual void write(Ostream&) const;
 };
diff --git a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
index 8f4970855f4fedd51c8f6d90fbac4d44a1757b50..c1d1dd42ecd017179bb1bfbf9f5261317f2a7f25 100644
--- a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
+++ b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -557,6 +557,13 @@ void Foam::genericPointPatchField<Type>::rmap
 }
 
 
+template<class Type>
+const Foam::word& Foam::genericPointPatchField<Type>::actualType() const
+{
+    return actualTypeName_;
+}
+
+
 template<class Type>
 void Foam::genericPointPatchField<Type>::write(Ostream& os) const
 {
diff --git a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H
index e68ce631b13cc342766c0ae6b7fcadd1a8b046f7..33880fd72326aa58d7697785f4930a56c94bc92f 100644
--- a/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H
+++ b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -55,7 +55,7 @@ class genericPointPatchField
 {
     // Private data
 
-        word actualTypeName_;
+        const word actualTypeName_;
         dictionary dict_;
 
         HashPtrTable<scalarField> scalarFields_;
@@ -151,6 +151,9 @@ public:
             );
 
 
+        //- Return the actual type
+        const word& actualType() const;
+
         //- Write
         virtual void write(Ostream&) const;
 };