We have to activate MDI child windows.

diff --git a/windows/mdi.c b/windows/mdi.c
index c441f90..c647daf 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -606,6 +606,7 @@
       if( clientInfo->hwndChildMaximized != hWndChild ) {
         if( hWndChild ) {
 		  clientInfo->hwndActiveChild = hWndChild;
+		  clientInfo->hwndChildMaximized = hWndChild;
 		  ShowWindow( hWndChild, SW_SHOWMAXIMIZED);
 	} else
 		ShowWindow( clientInfo->hwndActiveChild, SW_SHOWNORMAL );
diff --git a/windows/winpos.c b/windows/winpos.c
index 579c3ef..393f309 100644
--- a/windows/winpos.c
+++ b/windows/winpos.c
@@ -1375,7 +1375,9 @@
     else
     {
         /* We can't activate a child window */
-        if (wndPtr->dwStyle & WS_CHILD) swp |= SWP_NOACTIVATE | SWP_NOZORDER;
+        if ((wndPtr->dwStyle & WS_CHILD) &&
+            !(wndPtr->dwExStyle & WS_EX_MDICHILD))
+            swp |= SWP_NOACTIVATE | SWP_NOZORDER;
 	if (!(swp & MINMAX_NOSWP))
 	    SetWindowPos( hwnd, HWND_TOP, newPos.left, newPos.top, 
 					  newPos.right, newPos.bottom, LOWORD(swp) );