diff --git a/src/libslic3r/SLA/SLASupportTree.cpp b/src/libslic3r/SLA/SLASupportTree.cpp
index 37b0c0ffc..c599cd83e 100644
--- a/src/libslic3r/SLA/SLASupportTree.cpp
+++ b/src/libslic3r/SLA/SLASupportTree.cpp
@@ -722,6 +722,10 @@ public:
         return m_pad;
     }
 
+    void remove_pad() {
+        m_pad = Pad();
+    }
+
     const Pad& pad() const { return m_pad; }
 
     // WITHOUT THE PAD!!!
@@ -1729,6 +1733,11 @@ const TriangleMesh &SLASupportTree::get_pad() const
     return m_impl->pad().tmesh;
 }
 
+void SLASupportTree::remove_pad()
+{
+    m_impl->remove_pad();
+}
+
 SLASupportTree::SLASupportTree(const PointSet &points,
                                const EigenMesh3D& emesh,
                                const SupportConfig &cfg,
diff --git a/src/libslic3r/SLA/SLASupportTree.hpp b/src/libslic3r/SLA/SLASupportTree.hpp
index 62e790611..e19f263b6 100644
--- a/src/libslic3r/SLA/SLASupportTree.hpp
+++ b/src/libslic3r/SLA/SLASupportTree.hpp
@@ -164,6 +164,8 @@ public:
     /// Get the pad geometry
     const TriangleMesh& get_pad() const;
 
+    void remove_pad();
+
 };
 
 }
diff --git a/src/libslic3r/SLA/SLASupportTreeIGL.cpp b/src/libslic3r/SLA/SLASupportTreeIGL.cpp
index 49290b3b8..6d4a770aa 100644
--- a/src/libslic3r/SLA/SLASupportTreeIGL.cpp
+++ b/src/libslic3r/SLA/SLASupportTreeIGL.cpp
@@ -198,7 +198,7 @@ PointSet normals(const PointSet& points, const EigenMesh3D& emesh,
         });
 
         if(!neighnorms.empty()) { // there were neighbors to count with
-            // sum up the normals and than normalize the result again.
+            // sum up the normals and then normalize the result again.
             // This unification seems to be enough.
             Vec3d sumnorm(0, 0, 0);
             sumnorm = std::accumulate(neighnorms.begin(), lend, sumnorm);
diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp
index 90abe290f..15f0e410e 100644
--- a/src/libslic3r/SLAPrint.cpp
+++ b/src/libslic3r/SLAPrint.cpp
@@ -560,9 +560,13 @@ void SLAPrint::process()
         // and before the supports had been sliced. (or the slicing has to be
         // repeated)
 
-        if(po.m_config.pad_enable.getBool() &&
-           po.m_supportdata &&
-           po.m_supportdata->support_tree_ptr)
+        if(!po.m_supportdata || !po.m_supportdata->support_tree_ptr) {
+            BOOST_LOG_TRIVIAL(warning) << "Uninitialized support data at "
+                                       << "pad creation.";
+            return;
+        }
+
+        if(po.m_config.pad_enable.getBool())
         {
             double wt = po.m_config.pad_wall_thickness.getFloat();
             double h =  po.m_config.pad_wall_height.getFloat();
@@ -586,6 +590,8 @@ void SLAPrint::process()
 
             pcfg.throw_on_cancel = thrfn;
             po.m_supportdata->support_tree_ptr->add_pad(bp, pcfg);
+        } else {
+            po.m_supportdata->support_tree_ptr->remove_pad();
         }
 
         po.throw_if_canceled();