diff --git a/src/sbbs3/ansiterm.cpp b/src/sbbs3/ansiterm.cpp
index 840e901166d759e502ee43a5ba48fb9470da88e5..72a6c2f04882480214a2be27235f9a59567f8903 100644
--- a/src/sbbs3/ansiterm.cpp
+++ b/src/sbbs3/ansiterm.cpp
@@ -115,7 +115,7 @@ void sbbs_t::ansi_getxy(int* x, int* y)
     *x=0;
     *y=0;
 
-	rputs("\x1b[6n");	/* Request cusor position */
+	putcom("\x1b[6n");	/* Request cusor position */
 
     time_t start=time(NULL);
     sys_status&=~SS_ABORT;
@@ -152,5 +152,6 @@ void sbbs_t::ansi_getxy(int* x, int* y)
         	lprintf("Node %d !TIMEOUT in ansi_getxy", cfg.node_num);
             break;
         }
+		mswait(1);
     }
 }