Problem with project going from Arduino Ethernet to Mega

Hi all,

In my previous topic I had the problem of being short on memory. So I bought the Arduino Mega because of the 4 times bigger memory. But now I encounter problems right at the front of my project. Can’t get a good serial message.
On the Arduino Ethernet I use this code along with the softwareserial which inverts my serial connection:

  while (mySerial.available() > 0) {
    incomingByte = mySerial.read();
    incomingByte &= ~(1 << 7);    // forces 0th bit of x to be 0.  all other bits left alone.
    workString += (char)incomingByte;//inChar; 
  }

This gives me an accurate string with the whole message. This and the rest of the code works perfect on the Ethernet.

But now when I’m using this code on the Mega, ofcourse with the correct pin for the softwareserial, I only get pieces of the correct message and the rest is rubbish characters. Because the Mega dóes has hardware serials I bought an 7404 inverter to invert the serial connection and now I use the hardwareserial set to 7E1. But still I get rubbish messages, even worse than the softwareserial message…
This code I use for reading with inverter and hardwareserial:

  Serial1.begin(9600, SERIAL_7E1);
 ......
  while (Serial1.available() > 0) {
    c = Serial1.read();
    workString += (char)c;//inChar; 
  }

I tested the inverter and it works, making low->high and low->high…

Can anyone explain to me what is happening here?