MCP23S17 per comandare dei relay

Di nuovo alle prese con il famoso MCP23S17...
Ormai è passato parecchio tempo da quando avevo fatto svariate prove con SPI e Slave Select. Avevo compreso abbastanza a fondo il funzionamento del comando di slave select della libreria con l'assegnazione tramite PORTB. Sfruttando il pin 53 del mega come Slave Select (appunto il pin SS predefinito) avevo ottenuto un funzionamento corretto e stabile. Avevo anche eseguito un buon numero di test con i vari comandi messi a disposizione dalla libreria ottenendo risultati positivi.

Ora per proseguire il progetto ho bisogno di spostare il pin di Slave Select di questo MCP su un altro pin, poichè il 53 è occupato dalla shield di uno schermino LCD.
Ho scelto per ora il "Digital pin 4" che sul ATMEGA 2560 corrisponde a PG5...

Detto fatto: ho sostituito nella libreria le due assegnazioni per abilitare e disabilitare il pin 5 della porta G:
PORTB &= 0b11111110 --> PORTG &= 0b11011111
PORTB |= 0b00000001 --> PORTG |= 0b00100000

Così facendo però il mio MCP non funziona correttamente, ho degli scatti "random" sui relay, stessa situazione che si era creata quando non avevo impostato correttamente PORTB nei primi tentativi... Ma cosa sbaglio in questo caso???