diff --git a/ChangeLog b/ChangeLog
index af5b2b1ad6ea506337132b6dc3ef23036c382b45..7257842dcb4cf3bdecf90e4f03c78e1a8732b4ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-12-04  David Lawrence Ramsey  <pooka109@gmail.com>
+
+	* nano.c (main), prompt.c (get_prompt_string), winio.c
+	(do_replace_highlight): Per OKATA Akio's patch, with minor
+	tweaks by me, add wnoutrefresh() calls after
+	reset_(statusbar_)?cursor() calls, to ensure that the cursor is
+	placed properly when using NetBSD curses.
+
 2007-11-29  Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org>
 
 	* doc/man/fr/*.1, doc/man/fr/nanorc.5: Fix copyright notices.
diff --git a/src/nano.c b/src/nano.c
index b558a7417ded1aed59451a30106ba18608ef684d..dd7ae31518cccaa30a1dbf4bc0196018695acbeb 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2267,6 +2267,7 @@ int main(int argc, char **argv)
 
 	/* Make sure the cursor is in the edit window. */
 	reset_cursor();
+	wnoutrefresh(edit);
 
 #ifndef NANO_TINY
 	if (!jump_buf_main) {
diff --git a/src/prompt.c b/src/prompt.c
index 01e2f96c05f7972310292a2c62bd8349576b9f77..2f6ad175ab7885153ef43a1aa20e98ede46a8eab 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -1116,6 +1116,7 @@ int get_prompt_string(bool allow_tabs,
 #endif
 
 	reset_statusbar_cursor();
+	wnoutrefresh(bottomwin);
     }
 
 #ifndef NANO_TINY
diff --git a/src/winio.c b/src/winio.c
index 7e8a3dc5d1205a41d8a98f151939523602b71b25..d202735b831717c1cdc74c96a58fe4d45bf57f6b 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -3260,6 +3260,7 @@ void do_replace_highlight(bool highlight, const char *word)
 	y--;
 
     reset_cursor();
+    wnoutrefresh(edit);
 
     if (highlight)
 	wattron(edit, reverse_attr);