diff --git a/src/libslic3r/SLA/SupportTreeBuildsteps.cpp b/src/libslic3r/SLA/SupportTreeBuildsteps.cpp
index 5d60d7513..29ad6057f 100644
--- a/src/libslic3r/SLA/SupportTreeBuildsteps.cpp
+++ b/src/libslic3r/SLA/SupportTreeBuildsteps.cpp
@@ -1292,7 +1292,7 @@ void SupportTreeBuildsteps::routing_headless()
         m_thr();
         
         const auto R = double(m_support_pts[i].head_front_radius);
-        const double HWIDTH_MM = m_cfg.head_penetration_mm;
+        const double HWIDTH_MM = std::min(R, m_cfg.head_penetration_mm);
         
         // Exact support position
         Vec3d sph = m_support_pts[i].pos.cast<double>();