Why does my Sim900 keeps returning an ERROR on a AT+CIPSEND command

I am fooling around with a SIM900 shield for a arduino. I am trying to send some data from the shield to a TCP server using a TCP connection.

Here is my arduino code:

Serial3.println("AT+CGATT?");
 delay(100);
 ShowSerialData();
 Serial3.println("AT+CIPSHUT");
 delay(100);
 ShowSerialData();
 Serial3.println("AT+CIPMUX=0");
 delay(100);
 ShowSerialData();
 Serial3.println("AT+CGATT?");
 delay(100);
 ShowSerialData();
 Serial3.println("AT+CSTT=\"APN\",,");//start task and setting the APN,
 delay(1000);
 ShowSerialData();
 Serial3.println("AT+CIICR");//bring up wireless connection
 delay(2000);
 ShowSerialData();
 Serial3.println("AT+CIFSR");//get local IP adress
 delay(2000);
 ShowSerialData();
 Serial3.println("AT+CIPSPRT=0");
 delay(3000);
 ShowSerialData();
 Serial3.println("AT+CIPSTART=\"TCP\",\"IP\",\"PORT\"");//start up the connection
 delay(10000);
 ShowSerialData();
 Serial3.println("AT+CIPSEND");//begin send data to remote server
 delay(1000);
 ShowSerialData();
 Serial3.print("A test sentence.");//here is the feed you apply from pachube
 delay(500);
 ShowSerialData();
 Serial3.println((char)26);//sending
 delay(5000);//waitting for reply, important! the time is base on the condition of internet
 Serial3.println();
 ShowSerialData();
 Serial3.println("AT+CIPCLOSE");//close the connection
 delay(100);
 ShowSerialData();
AT+CGATT?

+CGATT: 1

OK
AT+CIPSHUT

SHUT OK
AT+CIPMUX=0

OK
AT+CGATT?

+CGATT: 1

OK
AT+CSTT="APN",,

OK
AT+CIICR

OK
AT+CIFSR

10.160.74.172
AT+CIPSPRT=0

OK
AT+CIPSTART="TCP","IP","PORT"

OK

CONNECT OK
AT+CIPSEND

ERROR
A test sentence.

CLOSED

AT+CIPCLOSE

ERROR

As you can see it returns an error on the AT+CIPSEND command. WHY?

I just tried to send the commands directly to the Sim900 from the terminal, and it returns the same error.

Thanks in advance!

Did you find the error?