Http Responses Mangled SIM900 ATMEGA2560

We are in the process of writing an m2m solution on arduino. We use the sim900Enhanced TCP commands to post and read data to and from the server. At the moment our baudrate is fixed to 9600baud with AT+CBST=7,0,1 , which is enough. The problem is when we read the headers, they are most of the time mangled.
An example :
[0D]
[0A]
HTTP/1.1[space]200[space]OK[0D]
[0A]
Server:[space]Apache-Coyote/1.1[0D]
[0A]
SoftVersion:[space]1.6[0D]
te:[space]Thu,[space]01[space]May[space]2014[space]13:47:31[space]GMT[0D]
[0A]
[0D]
[0A]
start of body

should be:
[0D]
[0A]
HTTP/1.1[space]200[space]OK[0D]
[0A]
Server:[space]Apache-Coyote/1.1[0D]
[0A]
SoftVersion:[space]1.6[0D]
[0A]
MD5Checksum:[space]f68af9ae[0D]
[0A]
Content-Type:[space]application/octet-stream[0D]
[0A]
Content-Length:[space]16[0D]
[0A]
Date:[space]Thu,[space]01[space]May[space]2014[space]13:48:33[space]GMT[0D]
[0A]
[0D]
[0A]
start of body
SoftVersion:[space]1.6

We also sometimes get CLOSED after a while as a response from the sim900
Next to this header problem ,when we download firmware for the arduino this seems to have a bigger successrate than the headers and body responses. The firmware is now roughly 70 kb which it traverses without any problems and the data is all correct.

Could anyone shed some light on this behaviour?

Thanks

As an update here are the things we tried but had no luck so far:

-increased the buffer size of the hardwareserial to 2048bytes
-tried settings on the serverside(keep-alive)
-tried different baudrates on the hardwareserial

Solved.

We made an error during buffer adjustment of the uart which didn't make it bigger. The issue is the circular buffer from the arduino in combination with the sim900. At a baudrate of 9600 for the sim900 and a circular buffer of 256bytes we now have steady responses.