diff --git a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C
index 3d9e7a597bcf533a28a53d0f65fb7302093e8934..a9d3bf06c11fab0d45b2a5a462a8e903d4c91819 100644
--- a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C
+++ b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C
@@ -64,6 +64,30 @@ Foam::sampledDistanceSurface::sampledDistanceSurface
 {}
 
 
+Foam::sampledDistanceSurface::sampledDistanceSurface
+(
+    const word name,
+    const polyMesh& mesh,
+    const bool interpolate,
+    autoPtr<searchableSurface>&& surface,
+    const scalar distance,
+    const bool useSignedDistance
+)
+:
+    sampledSurface(name, mesh, interpolate),
+    distanceSurface
+    (
+        mesh,
+        interpolate,
+        std::move(surface),
+        distance,
+        useSignedDistance
+    ),
+    average_(false), // pass as param?
+    needsUpdate_(true)
+{}
+
+
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 bool Foam::sampledDistanceSurface::needsUpdate() const
diff --git a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H
index 5477ad3595a6eca27ef5eb36b158b3d1581a5728..7e72c12ae27af104811096f3c3ff53fb2af0bd9e 100644
--- a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H
+++ b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H
@@ -141,6 +141,18 @@ public:
         );
 
 
+        sampledDistanceSurface
+        (
+            const word name,
+            const polyMesh& mesh,
+            const bool interpolate,
+            autoPtr<searchableSurface>&& surface,
+            const scalar distance,
+            const bool useSignedDistance
+            //const isoSurfaceParams& params = isoSurfaceParams()
+        );
+
+
     //- Destructor
     virtual ~sampledDistanceSurface() = default;
 
diff --git a/src/sampling/surface/distanceSurface/distanceSurface.C b/src/sampling/surface/distanceSurface/distanceSurface.C
index 3d0f1f4d9b1f8ba38366ae42741c106b5d0a21ea..06b44dc5185d25ae97196be2dd90434ae1b61fb2 100644
--- a/src/sampling/surface/distanceSurface/distanceSurface.C
+++ b/src/sampling/surface/distanceSurface/distanceSurface.C
@@ -349,9 +349,10 @@ Foam::distanceSurface::distanceSurface
     const isoSurfaceParams& params
 )
 :
-    mesh_(mesh),
-    geometryPtr_
+    distanceSurface
     (
+        mesh,
+        interpolate,
         searchableSurface::New
         (
             surfaceType,
@@ -365,8 +366,26 @@ Foam::distanceSurface::distanceSurface
                 IOobject::NO_WRITE
             ),
             dictionary()
-        )
-    ),
+        ),
+        distance,
+        useSignedDistance,
+        params
+    )
+{}
+
+
+Foam::distanceSurface::distanceSurface
+(
+    const polyMesh& mesh,
+    const bool interpolate,
+    autoPtr<searchableSurface>&& surface,
+    const scalar distance,
+    const bool useSignedDistance,
+    const isoSurfaceParams& params
+)
+:
+    mesh_(mesh),
+    geometryPtr_(surface),
     distance_(distance),
     withZeroDistance_(equal(distance_, 0)),
     withSignDistance_
diff --git a/src/sampling/surface/distanceSurface/distanceSurface.H b/src/sampling/surface/distanceSurface/distanceSurface.H
index 184b24d8c31c6f7ce1d74678d25b34acd706519f..6a4c296932229545dc420a2245763dd4b889e280 100644
--- a/src/sampling/surface/distanceSurface/distanceSurface.H
+++ b/src/sampling/surface/distanceSurface/distanceSurface.H
@@ -326,6 +326,16 @@ public:
             const isoSurfaceParams& params = isoSurfaceParams()
         );
 
+        distanceSurface
+        (
+            const polyMesh& mesh,
+            const bool interpolate,
+            autoPtr<searchableSurface>&& surface,
+            const scalar distance,
+            const bool useSignedDistance,
+            const isoSurfaceParams& params = isoSurfaceParams()
+        );
+
 
     //- Destructor
     virtual ~distanceSurface() = default;