Codeigniter estendendo MY_Controller estendido

Eu segui rigorosamente oartigo de instruções por Phil Sturgeon, para estender o controlador base. Mas ainda tenho alguns erros.

Minhas 3 aulas:

// application/libraries/MY_Controller.php
class MY_Controller extends Controller{
    public function __construct(){
        parent::__construct();
    }
}

// application/libraries/Public_Controller.php
class Public_Controller extends MY_Controller{
    public function __construct(){
        parent::__construct();

    }    
}

// application/controllers/user.php
class User extends Public_Controller{
    public function __construct(){
        parent::__construct();
    }
}

Erro fatal: a classe 'Public_Controller' não foi encontrada em /srv/www/xxx/application/controllers/user.php na linha 2

Curioso é que o seguinte snippet está funcionando, se eu estender diretamente deMY_Controller:

// application/controllers/user.php
class User extends MY_Controller{
    public function __construct(){
        parent::__construct();
    }
}

Carreguei os controladores via__autoload() ou manualmente. Os controladores são carregados com sucesso.

Versão CI: 1.7.3

questionAnswers(5)

yourAnswerToTheQuestion