diff --git a/extend.c b/extend.c
index 38266dd..a7b9df1 100644
--- a/extend.c
+++ b/extend.c
@@ -366,7 +366,7 @@ int on_desync(struct poolhd *pool, struct eval *val,
         uniperror("realloc");
         return -1;
     }
-    memcpy(val->buff.data + val->buff.offset, buffer, n);
+    memcpy(val->buff.data + val->buff.size - n, buffer, n);
     
     int m = val->attempt;
     if (!m) for (; m < params.dp_count; m++) {
diff --git a/main.c b/main.c
index 4399427..00e315c 100644
--- a/main.c
+++ b/main.c
@@ -24,7 +24,7 @@
     #define close(fd) closesocket(fd)
 #endif
 
-#define VERSION "10.1"
+#define VERSION "10.2"
 
 char oob_char[1] = "a";
 char ip_option[1] = "\0";