Correct handling of abstract controllers

Resolves #910.

Failing spec included.