diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py
index 486ff4d..3133c2f 100644
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -34,32 +34,34 @@
         thesocket = self.request
         while True:
             try:
-                data = self.request.recv(4096).decode('utf-8')
+                received = self.request.recv(4096).decode('utf-8')
             except socket.error:
                 print("=== socket error ===")
                 break
             except IOError:
                 print("=== socket closed ===")
                 break
-            if data == '':
+            if received == '':
                 print("=== socket closed ===")
                 break
-            print("received: {}".format(data))
+            print("received: {}".format(received))
 
             # We may receive two messages at once. Take the part up to the
             # matching "]" (recognized by finding "][").
-            while data != '':
-                splitidx = data.find('][')
+            todo = received
+            while todo != '':
+                splitidx = todo.find('][')
                 if splitidx < 0:
-                     todo = data
-                     data = ''
+                     used = todo
+                     todo = ''
                 else:
-                     todo = data[:splitidx + 1]
-                     data = data[splitidx + 1:]
-                     print("using: {}".format(todo))
+                     used = todo[:splitidx + 1]
+                     todo = todo[splitidx + 1:]
+                if used != received:
+                    print("using: {}".format(used))
 
                 try:
-                    decoded = json.loads(todo)
+                    decoded = json.loads(used)
                 except ValueError:
                     print("json decoding failed")
                     decoded = [-1, '']
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index d128990..de64188 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -59,7 +59,7 @@
   if has('win32')
     call system('taskkill /IM py.exe /T /F /FI "WINDOWTITLE eq test_channel"')
   else
-    call system("pkill --full test_channel.py")
+    call system("pkill -f test_channel.py")
   endif
 endfunc
 
diff --git a/src/version.c b/src/version.c
index f4e9feb..2d61d4f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1253,
+/**/
     1252,
 /**/
     1251,
