diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp
index 7c78c252c0c40df1661bbfd1a86c7b60a992573d..25b90c3b0b2fe42e0157af716a7771821d95862f 100644
--- a/src/sbbs3/atcodes.cpp
+++ b/src/sbbs3/atcodes.cpp
@@ -345,8 +345,11 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen)
 		return(nulstr);
 	}
 
-	if(strncmp(sp, "POS:", 4) == 0) {	// PCBoard	(nn is 0 or 1 based?)
-		for(l = atoi(sp + 4) - column; l > 0; l--)
+	if(strncmp(sp, "POS:", 4) == 0) {	// PCBoard	(nn is 1 based)
+		i = atoi(sp + 4);
+		if(i >= 1)	// Convert to 0-based
+			i--;
+		for(l = i - column; l > 0; l--)
 			outchar(' ');
 		return nulstr;
 	}