I2c and SoftwareSerial clashes?

Hi there. I'm working on a project which requires me to use the SIM900 GSM shield, and the MMA_7455 accelerometer. I'm using an Arduino Leonardo, and I'm having some conflict between the two modules. Whenever I comment the problem block, the accelerometer works just fine, but things start to go wrong when it's left in. Any thoughts much appreciated.

void setup()
{
  Serial.begin(19200);

  //BEGIN PROBLEM BLOCK
  delay(300);
  SIM900.begin(19200);
  delay(5000);  // give time to log on to network.
  SIM900.print("AT+CMGF=1\r");  // set SMS mode to text
  delay(500);
  SIM900.print("AT+CNMI=2,2,0,0,0\r");
  //END PROBLEM BLOCK

  accelerometer.initSensitivity(2);
  readAcc();//Must be called once before you can get reliable readings
}

void loop(){
    readAcc();

    if(SIM900.available() > 0){
      char inChar=SIM900.read(); //Get the character from the cellular serial port.
      Serial.print(inChar);
    }
}

try comment out the Serial.begin(19200)

see if you have similar results
To me it looks like you have renamed your data type (Serial) kept the function (begin)

try naming a CS chip select pin instead so it knows who to call

CS1 to talk to SIM900

CS2 to talk to MMA_7455