diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
index d13ae8d791b6935798068ec1ffe511e9b5714940..cc01c6696da1c19aaf59ce9f067356cd24bd4bce 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,9 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "fieldMinMax.H"
-#include "volFields.H"
-#include "dictionary.H"
-#include "Time.H"
+#include "fieldTypes.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -66,6 +64,7 @@ Foam::fieldMinMax::fieldMinMax
     obr_(obr),
     active_(true),
     log_(true),
+    location_(true),
     mode_(mdMag),
     fieldSet_()
 {
@@ -103,6 +102,7 @@ void Foam::fieldMinMax::read(const dictionary& dict)
     if (active_)
     {
         log_ = dict.lookupOrDefault<Switch>("log", true);
+        location_ = dict.lookupOrDefault<Switch>("location", true);
 
         mode_ = modeTypeNames_[dict.lookupOrDefault<word>("mode", "magnitude")];
         dict.lookup("fields") >> fieldSet_;
@@ -112,26 +112,41 @@ void Foam::fieldMinMax::read(const dictionary& dict)
 
 void Foam::fieldMinMax::writeFileHeader(const label i)
 {
-    writeHeader(file(), "Field minima and maxima");
-    writeCommented(file(), "Time");
-    writeTabbed(file(), "field");
-    writeTabbed(file(), "min");
-    writeTabbed(file(), "position(min)");
+    OFstream& file = this->file();
 
-    if (Pstream::parRun())
+    writeHeader(file, "Field minima and maxima");
+    writeCommented(file, "Time");
+
+    if (location_)
     {
-        writeTabbed(file(), "processor");
-    }
+        writeTabbed(file, "field");
+
+        writeTabbed(file, "min");
+        writeTabbed(file, "location(min)");
 
-    writeTabbed(file(), "max");
-    writeTabbed(file(), "position(max)");
+        if (Pstream::parRun())
+        {
+            writeTabbed(file, "processor");
+        }
 
-    if (Pstream::parRun())
+        writeTabbed(file, "max");
+        writeTabbed(file, "location(max)");
+
+        if (Pstream::parRun())
+        {
+            writeTabbed(file, "processor");
+        }
+    }
+    else
     {
-        writeTabbed(file(), "processor");
+        forAll(fieldSet_, fieldI)
+        {
+            writeTabbed(file, "min(" + fieldSet_[fieldI] + ')');
+            writeTabbed(file, "max(" + fieldSet_[fieldI] + ')');
+        }
     }
 
-    file() << endl;
+    file<< endl;
 }
 
 
@@ -159,6 +174,11 @@ void Foam::fieldMinMax::write()
     {
         functionObjectFile::write();
 
+        if (!location_)
+        {
+            file()<< obr_.time().value();
+        }
+
         Info(log_)<< type() << " " << name_ <<  " output:" << nl;
 
         forAll(fieldSet_, fieldI)
@@ -170,6 +190,11 @@ void Foam::fieldMinMax::write()
             calcMinMaxFields<tensor>(fieldSet_[fieldI], mode_);
         }
 
+        if (!location_)
+        {
+            file()<< endl;
+        }
+
         Info(log_)<< endl;
     }
 }
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H
index 361420da07307621676a022498d4b62c5b39a635..b2246eb9b1d07626154c9f8316fe28e8ce136ef6 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -28,7 +28,7 @@ Group
     grpFieldFunctionObjects
 
 Description
-    This function object calculates the value and position of scalar minimim
+    This function object calculates the value and location of scalar minimim
     and maximum for a list of user-specified fields.  For variables with a rank
     greater than zero, either the min/max of a component value or the magnitude
     is reported.  When operating in parallel, the processor owning the value
@@ -43,6 +43,7 @@ Description
         ...
         write       yes;
         log         yes;
+        location    yes;
         mode        magnitude;
         fields
         (
@@ -58,6 +59,7 @@ Description
         type         | type name: fieldMinMax  | yes         |
         write        | write min/max data to file |  no      | yes
         log          | write min/max data to standard output | no | no
+        location     | write location of the min/max value | no | yes
         mode         | calculation mode: magnitude or component | no | magnitude
     \endtable
 
@@ -77,12 +79,8 @@ SourceFiles
 #define fieldMinMax_H
 
 #include "functionObjectFile.H"
-#include "primitiveFieldsFwd.H"
-#include "volFieldsFwd.H"
-#include "HashSet.H"
-#include "OFstream.H"
 #include "Switch.H"
-#include "NamedEnum.H"
+#include "vector.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -130,6 +128,9 @@ protected:
         //- Switch to send output to Info as well
         Switch log_;
 
+        //- Switch to write location of min/max values
+        Switch location_;
+
         //- Mode for min/max - only applicable for ranks > 0
         modeType mode_;
 
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
index a8477d8d50d18a1afe115fd90c1bf42aaa74c8a6..42da3d3c1b8526b828a513fdb30bb5ecff756a21 100644
--- a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,9 +25,6 @@ License
 
 #include "fieldMinMax.H"
 #include "volFields.H"
-#include "dictionary.H"
-#include "Time.H"
-#include "ListOps.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -44,43 +41,57 @@ void Foam::fieldMinMax::output
     const Type& maxValue
 )
 {
-    file()<< obr_.time().value();
-    writeTabbed(file(), fieldName);
+    OFstream& file = this->file();
 
-    file()
-        << token::TAB << minValue
-        << token::TAB << minC;
-
-    if (Pstream::parRun())
+    if (location_)
     {
-        file()<< token::TAB << minProcI;
-    }
+        file<< obr_.time().value();
 
-    file()
-        << token::TAB << maxValue
-        << token::TAB << maxC;
+        writeTabbed(file, fieldName);
 
-    if (Pstream::parRun())
-    {
-        file()<< token::TAB << maxProcI;
-    }
+        file<< token::TAB << minValue
+            << token::TAB << minC;
 
-    file() << endl;
+        if (Pstream::parRun())
+        {
+            file<< token::TAB << minProcI;
+        }
 
-    Info(log_)<< "    min(" << outputName << ") = "
-        << minValue << " at position " << minC;
+        file<< token::TAB << maxValue
+            << token::TAB << maxC;
 
-    if (Pstream::parRun())
-    {
-        Info(log_)<< " on processor " << minProcI;
-    }
+        if (Pstream::parRun())
+        {
+            file<< token::TAB << maxProcI;
+        }
 
-    Info(log_)<< nl << "    max(" << outputName << ") = "
-        << maxValue << " at position " << maxC;
+        file<< endl;
 
-    if (Pstream::parRun())
+        Info(log_)
+            << "    min(" << outputName << ") = " << minValue
+            << " at location " << minC;
+
+        if (Pstream::parRun())
+        {
+            Info(log_)<< " on processor " << minProcI;
+        }
+
+        Info(log_)
+            << nl << "    max(" << outputName << ") = " << maxValue
+            << " at location " << maxC;
+
+        if (Pstream::parRun())
+        {
+            Info(log_)<< " on processor " << maxProcI;
+        }
+    }
+    else
     {
-        Info(log_)<< " on processor " << maxProcI;
+        file<< token::TAB << minValue << token::TAB << maxValue;
+
+        Info(log_)
+            << "    min/max(" << outputName << ") = "
+            << minValue << ' ' << maxValue;
     }
 
     Info(log_)<< endl;
@@ -263,8 +274,7 @@ void Foam::fieldMinMax::calcMinMaxFields
                         "const word&, "
                         "const modeType&"
                     ")"
-                )
-                    << "Unknown min/max mode: " << modeTypeNames_[mode_]
+                )   << "Unknown min/max mode: " << modeTypeNames_[mode_]
                     << exit(FatalError);
             }
         }