As of OS 10.10, NSViewController automatically inserts itself in the responder chain. In certain scenarios, manually setting the view controller's nextResponder can create an infinite loop. To debug this, add the -NSResponderDebugResponderLoops YES launch argument in Xcode.