2nd string missing after concat 2nd & 3rd string to 1st string

I concatenate a 2nd single character string to my 1st string.
I print it to verify 2nd single char got appended.
Then I concatenate a 3rd string to first 1st string.
I print it and see 1st string + 3rd string, but 2nd single char is now gone.

1st string:

String  publication_event_data;
publication_event_data = String::format( "%d,%s,%s,%f,%f,%.2f,%.2f%%,%d,%d,%s,", 
	COMMUNICATION_FORMAT_VERSION,
	TRACKER_DEVICE_NAME,
	PROGRAM_VERSION, 
	record_latitude, 
	record_longitude, 
	fuel.getVCell(), 
	fuel.getSoC(), 
	present_GPS_fix, 
	record_timestamp,
	publish_function_code
	 );				//  'c' = callback from mobile  'm' = manual initiated  'T' = 
publication_event_data.concat( "1" );   // 2nd string

Print of publication_event_data shows both strings.

3rd string:

String next_record =  String::format( "%f,%f,%d,", 
	record_latitude, 
	record_longitude, 
	record_timestamp
	);
publication_event_data.concat( next_record );

Now publication_event_data no longer has 2nd string ā€œ1ā€ .

This would need further investigation, since such behaviour might indicate a bug.
BUT this use of String objects is rather critical since exactly such code will result in highly fragmented heap space which often enough causes hard to debug intermitent crashes.
Iā€™d strongliy advise against such code and suggest going for char[] strings instead.

Wow, ok.
Bug was actually my stupid mistake: comma misplacements. Duh!