I have a UIViewController that returns YES in shouldAutorotateToInterfaceOrientation: for UIDeviceOrientationPortrait and NO
YES
shouldAutorotateToInterfaceOrientation:
UIDeviceOrientationPortrait
NO
iOS 5 adds +[UIViewController attemptRotationToDeviceOrientation], which solves the problem for me.