diff --git a/code/game/objects/items/devices/violin.dm b/code/game/objects/items/devices/violin.dm
index 13bfc403bcc..09fd77c6d75 100644
--- a/code/game/objects/items/devices/violin.dm
+++ b/code/game/objects/items/devices/violin.dm
@@ -19,6 +19,9 @@
..()
/obj/item/device/violin/attack_self(mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 1
interact(user)
/obj/item/device/violin/interact(mob/user as mob)
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index 061fdd3b141..6510eaf31a5 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -323,8 +323,14 @@
..()
/obj/structure/piano/attack_hand(mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 1
interact(user)
+/obj/structure/piano/attack_paw(mob/user as mob)
+ return src.attack_hand(user)
+
/obj/structure/piano/interact(mob/user as mob)
if(!user || !anchored)
return
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index 67552863327..0dcf0f5f451 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -31,8 +31,13 @@
if(1 to 4) overlays += "plasma-[plasmatanks]"
if(5 to INFINITY) overlays += "plasma-5"
+/obj/structure/dispenser/attack_paw(mob/user as mob)
+ return src.attack_hand(user)
/obj/structure/dispenser/attack_hand(mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 1
user.set_machine(src)
var/dat = "[src]
"
dat += "Oxygen tanks: [oxygentanks] - [oxygentanks ? "Dispense" : "empty"]
"