Stacking Boards that cannot stack ???


I have an Arduino Mega that needs to have an Ethernet shield and an expansion shield. As I have to mount the Ethernet shield first so it can use the ICSP pins, I then cannot stack the expansion board correctly as the Ethernet shield is only UNO sized although sold as and works as Mega compatible. If I then put the expansion shield on top of the Ethernet shield, I only get the UNO equivalent of pins. Question: Can I add headers to the MEGA, at the bottom of the stack, so that the expansion board will marry up to the Mega? Although I think 1 or 2 pins will be blocked out by the Ethernet boards edges. At the moment I seem to need to utilise 3 or 4 sets of headers to get the correct height. Is this the correct way to go about connecting it all together or is there an easier way?

Appreciate any advice. Kind regards,

jB 8)

and an expansion shield.

Which one? Doesn't the expansion shield pass the ICSP pins to the top, as it should?