Sticky pistons can't move certain blocks, such as extended pistons. I'm guessing your second level of pistons aren't retracting early enough and are therefore not completing their retraction before the sticky pistons try to pull them.

The likely solution is that you need to add a delay to your circuitry which allows the upper pistons to retract first, then the lower pistons a couple ticks afterward. The problem with this is that you need them to extend in the opposite way, with the lower pistons extending first and the upper pistons extending afterward. You may have to use an ABBA switch to create this activation/deactivation pattern for you (extend bottom, extend top, retract top, retract bottom).


I ran into this problem myself while designing a portcullis. As gnovice correctly answers, extended pistons are one of the blocks that can't be moved by other pistons. The following redstone diagram was my solution to getting around it.

Two-level Piston Diagram

Note; there may be some confusion on piston placement - In [A] the pistons are placed on top of a raised block. In [B] the top of the second layer of pistons is below the raised (yellow) blocks, so that if [A] were to be powered the top of the unpowered [B] pistons would be flush with the surface the redstone sits on.

The power reaches the bottom pistons in [A] first, followed shortly by the upper pistons in [B]. When the power is turned off, the raised (yellow) repeaters in [A] will keep the power on the bottom row long enough for the upper pistons [B] to lose power and retract first.