Index: Headers/AppKit/NSWindowController.h
===================================================================
--- Headers/AppKit/NSWindowController.h	(revision 26941)
+++ Headers/AppKit/NSWindowController.h	(working copy)
@@ -27,7 +27,7 @@
 #ifndef _GNUstep_H_NSWindowController
 #define _GNUstep_H_NSWindowController
 
-#include <Foundation/NSObject.h>
+#include <AppKit/NSResponder.h>
 #include <AppKit/NSNibDeclarations.h>
 
 @class NSString;
@@ -35,7 +35,7 @@
 @class NSWindow;
 @class NSDocument;
 
-@interface NSWindowController : NSObject <NSCoding>
+@interface NSWindowController : NSResponder <NSCoding>
 {
   @private
     NSWindow            *_window;
Index: Source/NSWindowController.m
===================================================================
--- Source/NSWindowController.m	(revision 26941)
+++ Source/NSWindowController.m	(working copy)
@@ -310,9 +310,16 @@
 
   if (_window != nil)
     {
+      NSResponder *responder;
       [nc removeObserver: self
 	  name: NSWindowWillCloseNotification
 	  object: _window];
+      responder = _window;
+      while (responder && [responder nextResponder] != self)
+	{
+	  responder = [responder nextResponder];
+	}
+      [responder setNextResponder: [self nextResponder]];
       [_window setWindowController: nil];
     }
 
@@ -321,6 +328,8 @@
   if (_window != nil)
     {
       [_window setWindowController: self];
+      [self setNextResponder: [_window nextResponder]];
+      [_window setNextResponder: self];
       [nc addObserver: self
 	  selector: @selector(_windowWillClose:)
 	  name: NSWindowWillCloseNotification
