transitionToRoute().then not resolving

I have a case where transitionToRoute().then(...) resolves after transition from one subroute, but not from the other.

Yet I don’t see any difference:

Routes:

    this.resource('departments', {path: '/'}, function() {
        this.resource('department', { path: 'department/:department_id' }, function() {
            this.resource('posts',  { path: '/timeline' }, function(){
                this.resource('post', { path: '/:post_id' });
            });
            ...

When I am on the route ‘departments.department.posts.index’ I can transitionToRoute from withing my departmentsController and the promise will resolve:

this.transitionToRoute('posts.index', department).then(function() {
  callback();
});

Yet when I am at a deeper level route: ‘departments.department.posts.post’ the then promise is not resolving.

Is there some logic I am missing that makes the callback not resolving?