That's strange. It sounds like it has something to do with the loader being positioned inside the hex core and perfectly at its edge, so maybe there's some kind of floating point error that causes the game engine to treat the loader as transferring items to and from the hex core's inventory instead of acting as a port. That's just a guess, though. If you enable show-debug-info-in-tooltips in the F4 debug menu and mouse over the loader, is the broken loader's position at a perfect halfway point between tile positions (ending with .500)? And in case that number gets rounded and potentially hides a floating point error, you can also mouse over the loader and run /c game.print(game.player.selected.position.x .. ", " .. game.player.selected.position.y) in the console to see the Lua object's actual position, non-rounded. If either of these display an imperfect midpoint, that'd explain the rare loader bug.