diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index 6f843ad..419d8fc 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -5,7 +5,8 @@
 # does call every method and function.
 #
 # Functions not tested: {def,reset}_{shell,prog}_mode, getch(), getstr(),
-# getmouse(), ungetmouse(), init_color()
+# init_color()
+# Only called, not tested: getmouse(), ungetmouse()
 #
 
 import curses, sys, tempfile, os
@@ -106,6 +107,8 @@
     stdscr.notimeout(1)
     win2.overlay(win)
     win2.overwrite(win)
+    win2.overlay(win, 1, 2, 3, 3, 2, 1)
+    win2.overwrite(win, 1, 2, 3, 3, 2, 1)
     stdscr.redrawln(1,2)
 
     stdscr.scrollok(1)
@@ -201,6 +204,9 @@
     if hasattr(curses, 'getmouse'):
         curses.mousemask(curses.BUTTON1_PRESSED)
         curses.mouseinterval(10)
+        # just verify these don't cause errors
+        m = curses.getmouse()
+        curses.ungetmouse(*m)
 
 def unit_tests():
     from curses import ascii
diff --git a/Misc/ACKS b/Misc/ACKS
index b717a36..42fa409 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -552,6 +552,7 @@
 Nathan Paul Simons
 Janne Sinkkonen
 George Sipe
+J. Sipprell
 Kragen Sitaker
 Christopher Smith
 Gregory P. Smith
diff --git a/Misc/NEWS b/Misc/NEWS
index 78cf145..d5a2361 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -216,6 +216,10 @@
 Extension Modules
 -----------------
 
+- Bug #1400822, _curses over{lay,write} doesn't work when passing 6 ints.
+  Also fix ungetmouse() which did not accept arguments properly.
+  The code now conforms to the documented signature.
+
 - Bug #1400115, Fix segfault when calling curses.panel.userptr()
   without prior setting of the userptr.
 
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 2d7f6e0..176f024 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -1163,7 +1163,7 @@
 	    return NULL;
 	break;
     case 7:
-	if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+	if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
 			      &PyCursesWindow_Type, &temp, &sminrow, &smincol,
 			      &dminrow, &dmincol, &dmaxrow, &dmaxcol))
 	    return NULL;
@@ -1201,7 +1201,7 @@
 	    return NULL;
 	break;
     case 7:
-	if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+	if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
 			      &PyCursesWindow_Type, &temp, &sminrow, &smincol,
 			      &dminrow, &dmincol, &dmaxrow, &dmaxcol))
 	    return NULL;
@@ -1674,7 +1674,7 @@
 	MEVENT event;
 
 	PyCursesInitialised
-	if (!PyArg_ParseTuple(args, "(hiiil)",
+	if (!PyArg_ParseTuple(args, "hiiil",
 			     &event.id, 
 			     &event.x, &event.y, &event.z,
 			     (int *) &event.bstate))
