diff --git a/storage-net/common.lua b/storage-net/common.lua
index 860134b..3b5f9a4 100644
--- a/storage-net/common.lua
+++ b/storage-net/common.lua
@@ -33,24 +33,20 @@ function pushDepositsToChests()
     for k,hopper in ipairs(hoppers) do
         -- For each item in that hopper's inventory...
         for hslot,hitem in pairs(hopper.list()) do
-            local remaining = hitem["count"]
             -- For each connected "chest"...
             for k,chest in ipairs(chests) do
                 -- First, make an attempt to find slots that we can shove the item into
                 for cslot,citem in pairs(chest.list()) do
                     if
                         citem["name"] == hitem["name"] and                  -- We have the same item
-                        citem["count"] < chest.getItemLimit(cslot) and      -- There's space in this slot
-                        remaining > 0                                       -- We still have things to sort
+                        citem["count"] < chest.getItemLimit(cslot)          -- There's space in this slot
                     then
-                        difference = chest.getItemLimit(cslot) - citem["count"]
-                        hopper.pushItems(peripheral.getName(chest),hslot,difference,cslot)
-                        remaining = remaining - difference
+                        hopper.pushItems(peripheral.getName(chest),hslot,hitem["count"],cslot)
                     end
                 end
             end
             -- We've fallen through trying to fill up existing stacks. Fragmentation is not a concern, put it wherever
-            if remaining > 0 then
+            if hopper.getItemDetail(hslot) then
                 for k,chest in ipairs(chests) do
                     hopper.pushItems(peripheral.getName(chest),hslot)
                 end