diff --git a/ncurses/widechar/lib_inwstr.c b/ncurses/widechar/lib_inwstr.c
index a4f5b8e..b2fdaea 100644
--- a/ncurses/widechar/lib_inwstr.c
+++ b/ncurses/widechar/lib_inwstr.c
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc.              *
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 2002-2016,2017 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -39,31 +40,39 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_inwstr.c,v 1.6 2011/05/28 22:49:49 tom Exp $")
+MODULE_ID("$Id: lib_inwstr.c,v 1.9 2020/02/02 23:34:34 tom Exp $")
 
 NCURSES_EXPORT(int)
 winnwstr(WINDOW *win, wchar_t *wstr, int n)
 {
-    int row, col, inx;
     int count = 0;
-    int last = 0;
     cchar_t *text;
-    wchar_t wch;
 
     T((T_CALLED("winnwstr(%p,%p,%d)"), (void *) win, (void *) wstr, n));
     if (wstr != 0) {
 	if (win) {
+	    int row, col;
+	    int last = 0;
+	    bool done = FALSE;
+
 	    getyx(win, row, col);
 
 	    text = win->_line[row].text;
-	    while (count < n && count != ERR) {
+	    while (count < n && !done && count != ERR) {
+
 		if (!isWidecExt(text[col])) {
+		    int inx;
+		    wchar_t wch;
+
 		    for (inx = 0; (inx < CCHARW_MAX)
 			 && ((wch = text[col].chars[inx]) != 0);
 			 ++inx) {
 			if (count + 1 > n) {
-			    if ((count = last) == 0) {
+			    done = TRUE;
+			    if (last == 0) {
 				count = ERR;	/* error if we store nothing */
+			    } else {
+				count = last;	/* only store complete chars */
 			    }
 			    break;
 			}
