diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c
index 58a786f2f216397d0215c13e5a7c2b19cf92d1e2..837204d4577b956a85f034898d163b108b77a2ce 100644
--- a/src/syncterm/ripper.c
+++ b/src/syncterm/ripper.c
@@ -12491,35 +12491,35 @@ do_rip_command(int level, int sublevel, int cmd, const char *rawargs)
 									break;
 								case 1:
 									if (access(cache_path, R_OK))
-										conn_send("0\r", 2, 1000);
+										conn_send("0\r\n", 2, 1000);
 									else
-										conn_send("1\r", 2, 1000);
+										conn_send("1\r\n", 2, 1000);
 									break;
 								case 2:
 									if (stat(cache_path, &st))
-										conn_send("0\r", 2, 1000);
+										conn_send("0\r\n", 2, 1000);
 									else {
-										sprintf(str, "1.%" PRIdOFF "\n", st.st_size);
+										sprintf(str, "1.%" PRIdOFF "\r\n", st.st_size);
 										conn_send(str, strlen(str), 1000);
 									}
 									break;
 								case 3:
 									if (stat(cache_path, &st))
-										conn_send("0\r", 2, 1000);
+										conn_send("0\r\n", 2, 1000);
 									else {
 										localtime_r(&st.st_atime, &tm);
 										strftime(dstr, sizeof(dstr), "%m/%d/&y.%H:%M:%S", &tm);
-										sprintf(str, "1.%" PRIdOFF ".%s\n", st.st_size, dstr);
+										sprintf(str, "1.%" PRIdOFF ".%s\r\n", st.st_size, dstr);
 										conn_send(str, strlen(str), 1000);
 									}
 									break;
 								case 4:
 									if (stat(cache_path, &st))
-										conn_send("0\r", 2, 1000);
+										conn_send("0\r\n", 2, 1000);
 									else {
 										localtime_r(&st.st_atime, &tm);
 										strftime(dstr, sizeof(dstr), "%m/%d/&y.%H:%M:%S", &tm);
-										sprintf(str, "1.%s.%" PRIdOFF ".%s\n", &args[6], st.st_size, dstr);
+										sprintf(str, "1.%s.%" PRIdOFF ".%s\r\n", &args[6], st.st_size, dstr);
 										conn_send(str, strlen(str), 1000);
 									}
 									break;