diff --git a/src/proto.h b/src/proto.h
index 961e95c850b0b553798fa4043422ff0f58b76030..3ec203836870afcd7e6edac9c78604dc5f12ae8d 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -522,8 +522,8 @@ ssize_t do_replace_loop(const char *needle, const filestruct
 	*real_current, size_t *real_current_x, bool wholewords, bool
 	*canceled);
 void do_replace(void);
-void do_gotolinecolumn(int line, ssize_t column, bool use_answer, bool
-	interactive, bool save_pos);
+void do_gotolinecolumn(ssize_t line, ssize_t column, bool use_answer,
+	bool interactive, bool save_pos);
 void do_gotolinecolumn_void(void);
 #if defined(ENABLE_MULTIBUFFER) || !defined(DISABLE_SPELLER)
 void do_gotopos(ssize_t line, size_t pos_x, ssize_t pos_y, size_t
diff --git a/src/search.c b/src/search.c
index ad98dd3247d50f978027280088c09b99b58e2b70..c1975a617520e1c39a408e3f97c6e9d130f0331f 100644
--- a/src/search.c
+++ b/src/search.c
@@ -961,8 +961,8 @@ void do_replace(void)
 /* Go to the specified line and column, or ask for them if interactive
  * is TRUE.  Save the x-coordinate and y-coordinate if save_pos is TRUE.
  * Note that both the line and column numbers should be one-based. */
-void do_gotolinecolumn(int line, ssize_t column, bool use_answer, bool
-	interactive, bool save_pos)
+void do_gotolinecolumn(ssize_t line, ssize_t column, bool use_answer,
+	bool interactive, bool save_pos)
 {
     if (interactive) {		/* Ask for it. */
 	char *ans = mallocstrcpy(NULL, answer);