diff --git a/src/term.c b/src/term.c
index ce6c6157..881207fc 100644
--- a/src/term.c
+++ b/src/term.c
@@ -421,14 +421,14 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
   };
 
   for (i = start_offset; i < len + start_offset; i++) {
-    data.is_float = false;
-    data.size = 0;
-
     // Handle the next argument
     if (i < argc - start_offset + 3) {
       char *argi = argv[i];
       size_t arglen = strlen(argi);
 
+      data.is_float = false;
+      data.size = 0;
+
       // Free string pointer if already allocated
       if(data.str_ptr) {
         free(data.str_ptr);