diff --git a/applications/utilities/surface/README b/applications/utilities/surface/README
index a66c2463a127dd9b859aede63a240429afe99e1a..f7e8342ca54b9a22fad244c0bdf98b4b2f2928aa 100644
--- a/applications/utilities/surface/README
+++ b/applications/utilities/surface/README
@@ -17,12 +17,13 @@ surfaceCoarsen
 surfaceConvert
 - Converts surfaces to/from various formats
 
+surfaceMeshExtract
+- Extracts mesh patches (or faceSets) and writes as a single surface.
+- foamToSurface duplicates this
+
 surfaceFind
 - Finds nearest vertex and face to given point.
 
-surfaceMeshTriangulate
-- Triangulate external faces of mesh and write as surface.
-
 surfacePointMerge
 - Explicit point merge of surface.
 
diff --git a/applications/utilities/surface/surfaceMeshExtract/Make/files b/applications/utilities/surface/surfaceMeshExtract/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..859aca6c1f72e6359602cf08ac39d9e7e782e31c
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshExtract/Make/files
@@ -0,0 +1,3 @@
+surfaceMeshExtract.C
+
+EXE = $(FOAM_APPBIN)/surfaceMeshExtract
diff --git a/applications/utilities/surface/surfaceMeshTriangulate/Make/options b/applications/utilities/surface/surfaceMeshExtract/Make/options
similarity index 99%
rename from applications/utilities/surface/surfaceMeshTriangulate/Make/options
rename to applications/utilities/surface/surfaceMeshExtract/Make/options
index 87ba656ac1d42d1d8941ff4e3f9a7582d81923d8..02c293ceedb24499f009c1874d6cd6aa18dabd1f 100644
--- a/applications/utilities/surface/surfaceMeshTriangulate/Make/options
+++ b/applications/utilities/surface/surfaceMeshExtract/Make/options
@@ -5,4 +5,3 @@ EXE_INC = \
 EXE_LIBS = \
     -lmeshTools \
     -lsurfMesh
-
diff --git a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C b/applications/utilities/surface/surfaceMeshExtract/surfaceMeshExtract.C
similarity index 100%
rename from applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C
rename to applications/utilities/surface/surfaceMeshExtract/surfaceMeshExtract.C
diff --git a/applications/utilities/surface/surfaceMeshTriangulate/Make/files b/applications/utilities/surface/surfaceMeshTriangulate/Make/files
deleted file mode 100644
index a258356ba2e81f362a32babdd76040b2d1321731..0000000000000000000000000000000000000000
--- a/applications/utilities/surface/surfaceMeshTriangulate/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-surfaceMeshTriangulate.C
-
-EXE = $(FOAM_APPBIN)/surfaceMeshTriangulate
diff --git a/bin/deprecated/surfaceMeshTriangulate b/bin/deprecated/surfaceMeshTriangulate
new file mode 100755
index 0000000000000000000000000000000000000000..b3f518061e4bbb9070f32b1834248b193a3a117e
--- /dev/null
+++ b/bin/deprecated/surfaceMeshTriangulate
@@ -0,0 +1,27 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  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, licensed under GNU General Public License
+#     <http://www.gnu.org/licenses/>.
+#
+# File
+#     surfaceMeshTriangulate
+#
+# Description
+#     Renamed surfaceMeshTriangulate to surfaceMeshExtract (2018-12-21)
+#
+#------------------------------------------------------------------------------
+
+echo
+echo "FOAM FATAL"
+echo "${0##*/} has been superceded by surfaceMeshExtract (DEC-2018)"
+
+exit 1
+
+#------------------------------------------------------------------------------
diff --git a/bin/surfaceMeshTriangulate b/bin/surfaceMeshTriangulate
new file mode 120000
index 0000000000000000000000000000000000000000..0f667affaf6277bb932e181ed30f100eaa8ba532
--- /dev/null
+++ b/bin/surfaceMeshTriangulate
@@ -0,0 +1 @@
+deprecated/surfaceMeshTriangulate
\ No newline at end of file
diff --git a/etc/config.sh/completion_cache b/etc/config.sh/completion_cache
index c1d5a12450cf6eb41100535b55c4b29358946d2f..a4cff0bd8fb35d260998938df86ca5420d7726a5 100644
--- a/etc/config.sh/completion_cache
+++ b/etc/config.sh/completion_cache
@@ -258,9 +258,9 @@ _of_complete_cache_[surfaceInflate]="-case -featureAngle -fileHandler -nSmooth |
 _of_complete_cache_[surfaceLambdaMuSmooth]="-featureFile | -doc -doc-source -help"
 _of_complete_cache_[surfaceMeshConvert]="-case -dict -fileHandler -from -scaleIn -scaleOut -to | -clean -noFunctionObjects -tri -doc -doc-source -help"
 _of_complete_cache_[surfaceMeshExport]="-case -dict -fileHandler -from -name -scaleIn -scaleOut -to | -clean -noFunctionObjects -doc -doc-source -help"
+_of_complete_cache_[surfaceMeshExtract]="-case -decomposeParDict -faceZones -fileHandler -patches -region -time | -constant -excludeProcPatches -latestTime -noFunctionObjects -noZero -parallel -doc -doc-source -help"
 _of_complete_cache_[surfaceMeshImport]="-case -dict -fileHandler -from -name -scaleIn -scaleOut -to | -clean -noFunctionObjects -doc -doc-source -help"
 _of_complete_cache_[surfaceMeshInfo]="-case -fileHandler -scale | -areas -noFunctionObjects -xml -doc -doc-source -help"
-_of_complete_cache_[surfaceMeshTriangulate]="-case -decomposeParDict -faceZones -fileHandler -patches -region -time | -constant -excludeProcPatches -latestTime -noFunctionObjects -noZero -parallel -doc -doc-source -help"
 _of_complete_cache_[surfaceOrient]="-case -fileHandler -scale | -inside -noFunctionObjects -usePierceTest -doc -doc-source -help"
 _of_complete_cache_[surfacePatch]="-case -dict -fileHandler | -noFunctionObjects -doc -doc-source -help"
 _of_complete_cache_[surfacePointMerge]="-case -fileHandler -scale | -noFunctionObjects -doc -doc-source -help"
diff --git a/tutorials/incompressible/pimpleFoam/RAS/ellipsekkLOmega/Allrun.pre b/tutorials/incompressible/pimpleFoam/RAS/ellipsekkLOmega/Allrun.pre
index df81f8b6587ed72d3250efa61a52d47527bce343..e56b451b786a5625052ce5106550e7a76bf84a0d 100755
--- a/tutorials/incompressible/pimpleFoam/RAS/ellipsekkLOmega/Allrun.pre
+++ b/tutorials/incompressible/pimpleFoam/RAS/ellipsekkLOmega/Allrun.pre
@@ -14,7 +14,7 @@ runApplication topoSet
 
 runApplication createPatch -overwrite
 
-runApplication surfaceMeshTriangulate \
+runApplication surfaceMeshExtract \
     -patches hole ppGeometry.vtp -constant -time none
 
 echo "End"
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/README.txt b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/README.txt
index 9b2628400a2c67547600bb5c9e706a63bb5dedc3..7bef08b8a3272b322c6ef15db7cf29c2e8ac2a55 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/README.txt
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/README.txt
@@ -16,7 +16,7 @@ constant/triSurface/boundaryAndFaceZones.stl
             faceSet porosityFaces subset cellToFace porosity all
             faceZoneSet porosityFaces new setToFaceZone porosityFaces
 
-        surfaceMeshTriangulate -faceZones '(porosityFaces)' boundaryAndFaceZones.stl
+        surfaceMeshExtract -faceZones '(porosityFaces)' boundaryAndFaceZones.obj
     )
 
 surfaceFeatureExtract