diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 7cc64f2ee5..4c549e7155 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -219,7 +219,7 @@
if(istype(W, /obj/item/stack/cable_coil) && !terminal && !building_terminal)
building_terminal = 1
var/obj/item/stack/cable_coil/CC = W
- if (CC.amount < 10)
+ if (CC.get_amount() <= 10)
user << "You need more cables."
building_terminal = 0
return 0
diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm
index 3fa10dc490..891f231f8f 100644
--- a/code/modules/power/smes_construction.dm
+++ b/code/modules/power/smes_construction.dm
@@ -182,6 +182,10 @@
..()
/obj/machinery/power/smes/buildable/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ // No more disassembling of overloaded SMESs. You broke it, now enjoy the consequences.
+ if (failing)
+ user << "The [src]'s screen is flashing with alerts. It seems to be overloaded! Touching it now is probably not a good idea."
+ return
// If parent returned 1:
// - Hatch is open, so we can modify the SMES
// - No action was taken in parent function (terminal de/construction atm).