Pickup picks outbound calls too

Hello,
we currently use
exten => _*XXX,1,SET(GLOBAL(PICKUPMARK)=${EXTEN:1})
exten => _*XXX,n,Pickup(${EXTEN:1}@PICKUPMARK)

which works perfectly ( we use SNOM phones with BLF function keys )
But sometime happens that the operator Picks an outbound call instead of inbound. This may happen during an outbound call ( as long as the outbound call is in “RINGING” state )

Is this a solvable issue ? ( I mean I know is “by design” but this behaviour is highly undesirable for us ).