diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 26b79c9e9f4..c0a4aa928d2 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -345,7 +345,7 @@
if(do_after(user, max(5, damage / 5) * WT.toolspeed, target = src) && WT && WT.isOn())
to_chat(user, "You finish repairing the damage to [src].")
cut_overlay(dent_decals)
- dent_decals.Cut()
+ dent_decals?.Cut()
take_damage(-damage)
else
to_chat(user, "You begin slicing through the outer plating.")
diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm
index 45abe2e155c..1ae3332e9b3 100644
--- a/code/game/turfs/simulated/walls_reinforced.dm
+++ b/code/game/turfs/simulated/walls_reinforced.dm
@@ -40,7 +40,7 @@
return ..()
/turf/simulated/wall/r_wall/proc/try_repair(obj/item/I, mob/user, params)
- if(damage && iswelder(I))
+ if((damage || LAZYLEN(dent_decals)) && iswelder(I))
var/obj/item/weldingtool/WT = I
if(!WT.remove_fuel(0, user))
to_chat(user, "You need more welding fuel to complete this task.")
@@ -50,6 +50,8 @@
playsound(src, WT.usesound, 100, 1)
if(do_after(user, max(5, damage / 5) * WT.toolspeed, target = src) && WT && WT.isOn())
to_chat(user, "You finish repairing the damage to [src].")
+ cut_overlay(dent_decals)
+ dent_decals?.Cut()
take_damage(-damage)
return TRUE