diff --git a/src/sftp/sftp_pkt.c b/src/sftp/sftp_pkt.c
index 7fa471744cf27b4158b9081ee5e91c27e98aa90a..960a019305b9e80950da785ed3e6566f73aa0f92 100644
--- a/src/sftp/sftp_pkt.c
+++ b/src/sftp/sftp_pkt.c
@@ -283,12 +283,12 @@ sftp_tx_pkt_reset(sftp_tx_pkt_t *pktp)
 	return true;
 }
 
-#define APPEND_FUNC_BODY(var)                          \
-	if (!grow_tx(pktp, sizeof(var)))                \
-		return false;                            \
-	sftp_tx_pkt_t pkt = *pktp;                        \
-	memcpy(&pkt->tdata[pkt->used], &var, sizeof(var)); \
-	pkt->used += sizeof(var);                           \
+#define APPEND_FUNC_BODY(var)                            \
+	if (!grow_tx(pktp, sizeof(var)))                  \
+		return false;                              \
+	sftp_tx_pkt_t pkt = *pktp;                          \
+	memcpy(&(&pkt->type)[pkt->used], &var, sizeof(var)); \
+	pkt->used += sizeof(var);                             \
 	return true
 
 bool