diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
index 3ee98de3c03..c835c1c4e79 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
@@ -112,4 +112,29 @@
/mob/living/simple_animal/drone/stripPanelEquip(obj/item/what, mob/who, where)
- ..(what, who, where, 1)
\ No newline at end of file
+ ..(what, who, where, 1)
+
+/mob/living/simple_animal/drone/verb/quick_equip()
+ set name = "quick-equip"
+ set hidden = 1
+ var/obj/item/I = get_active_hand()
+ var/obj/item/weapon/storage/S = get_inactive_hand()
+ var/obj/item/weapon/storage/T = internal_storage
+ if (!I)
+ usr << "You are not holding anything to equip!"
+ return
+ if(equip_to_appropriate_slot(I))
+ if(hand)
+ update_inv_l_hand(0)
+ else
+ update_inv_r_hand(0)
+ else if(s_active && s_active.can_be_inserted(I,1)) //if storage active insert there
+ s_active.handle_item_insertion(I)
+ else if(istype(S, /obj/item/weapon/storage) && S.can_be_inserted(I,1)) //see if we have box in other hand
+ S.handle_item_insertion(I)
+ else if (istype(T) && T.can_be_inserted(I,1)) // If carrying storage item like toolbox
+ T.handle_item_insertion(I)
+ else if(!internal_storage)
+ equip_to_slot(I, "drone_storage_slot")
+ else
+ usr << "You are unable to equip that!"
diff --git a/html/changelogs/spasticVerbalizer-droneQuickEquip.yml b/html/changelogs/spasticVerbalizer-droneQuickEquip.yml
new file mode 100644
index 00000000000..eb18e8577f5
--- /dev/null
+++ b/html/changelogs/spasticVerbalizer-droneQuickEquip.yml
@@ -0,0 +1,5 @@
+author: spasticVerbalizer
+delete-after: True
+
+changes:
+ - rscfix: "Drones can now properly quick-equip."