diff --git a/src/classic/goep_client.c b/src/classic/goep_client.c
index 5dfa07316..ad6e776fa 100644
--- a/src/classic/goep_client.c
+++ b/src/classic/goep_client.c
@@ -521,15 +521,19 @@ void goep_client_add_header_challenge_response(uint16_t goep_cid, uint16_t lengt
 void goep_client_add_header_name(uint16_t goep_cid, const char * name){
     UNUSED(goep_cid);
     goep_client_t * context = goep_client;
-    int len_incl_zero = strlen(name) + 1;
+    int len = strlen(name); 
+    if (len) {
+        // empty string does not have trailing \0
+        len++;
+    }
     uint8_t * buffer = goep_client_get_outgoing_buffer(context);
     uint16_t pos = big_endian_read_16(buffer, 1);
     buffer[pos++] = OBEX_HEADER_NAME;
-    big_endian_store_16(buffer, pos, 1 + 2 + len_incl_zero*2);
+    big_endian_store_16(buffer, pos, 1 + 2 + len*2);
     pos += 2;
     int i;
     // @note name[len] == 0 
-    for (i = 0 ; i < len_incl_zero ; i++){
+    for (i = 0 ; i < len ; i++){
         buffer[pos++] = 0;
         buffer[pos++] = *name++;
     }