diff --git a/applications/test/extendedStencil/Test-ExtendedStencil2.C b/applications/test/extendedStencil/Test-ExtendedStencil2.C
new file mode 100644
index 0000000000..eda8f98679
--- /dev/null
+++ b/applications/test/extendedStencil/Test-ExtendedStencil2.C
@@ -0,0 +1,206 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
+ \\/ 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 .
+
+Application
+ testExtendedStencil2
+
+Description
+ Test app for determining extended cell-to-cell stencil.
+
+\*---------------------------------------------------------------------------*/
+
+#include "argList.H"
+#include "fvMesh.H"
+#include "volFields.H"
+#include "surfaceFields.H"
+#include "Time.H"
+#include "OFstream.H"
+#include "meshTools.H"
+
+#include "CFCCellToCellStencil.H"
+
+
+using namespace Foam;
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+void writeStencilOBJ
+(
+ const fileName& fName,
+ const point& fc,
+ const List& stencilCc
+)
+{
+ OFstream str(fName);
+ label vertI = 0;
+
+ meshTools::writeOBJ(str, fc);
+ vertI++;
+
+ forAll(stencilCc, i)
+ {
+ meshTools::writeOBJ(str, stencilCc[i]);
+ vertI++;
+ str << "l 1 " << vertI << nl;
+ }
+}
+
+
+// Stats
+void writeStencilStats(const labelListList& stencil)
+{
+ label sumSize = 0;
+ label nSum = 0;
+ label minSize = labelMax;
+ label maxSize = labelMin;
+
+ forAll(stencil, i)
+ {
+ const labelList& sCells = stencil[i];
+
+ if (sCells.size() > 0)
+ {
+ sumSize += sCells.size();
+ nSum++;
+ minSize = min(minSize, sCells.size());
+ maxSize = max(maxSize, sCells.size());
+ }
+ }
+ reduce(sumSize, sumOp