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!