diff --git a/skeletons/converter-sample.c b/skeletons/converter-sample.c
index d146f3262e6e42c354e17517d8ba2190ab65bdd1..79067a308d5b1ad00558c16ecea8baef7a933578 100644
--- a/skeletons/converter-sample.c
+++ b/skeletons/converter-sample.c
@@ -314,7 +314,9 @@ static void add_bytes_to_buffer(const void *data2add, size_t bySize) {
 			perror("malloc()");
 			exit(EX_OSERR);
 		}
-		memcpy(p, DynamicBuffer.data, DynamicBuffer.length);
+		memcpy(p,
+			DynamicBuffer.data + DynamicBuffer.offset,
+			DynamicBuffer.length);
 		FREEMEM(DynamicBuffer.data);
 		DynamicBuffer.data = (char *)p;
 		DynamicBuffer.offset = 0;