diff --git a/mods/creative/init.lua b/mods/creative/init.lua
index 24700eb..cd9e2b4 100644
--- a/mods/creative/init.lua
+++ b/mods/creative/init.lua
@@ -42,11 +42,14 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack
 end)
 
 -- Don't pick up if the item is already in the inventory
+local old_handle_node_drops = minetest.handle_node_drops
 function minetest.handle_node_drops(pos, drops, digger)
-	if not digger or not digger:is_player() or
-			not creative.is_enabled_for(digger:get_player_name()) then
+	if not digger or not digger:is_player() then
 		return
 	end
+	if not creative.is_enabled_for(digger:get_player_name()) then
+		return old_handle_node_drops(pos, drops, digger)
+	end
 	local inv = digger:get_inventory()
 	if inv then
 		for _, item in ipairs(drops) do