Ok, I'm completely dumbfounded by this. (and I might be overlooking something obvious but...)
I have 2 consecutive calls to console.log. There isn't anything else between them
console.log($state);
console.log($state.current);
and here's an image of the produced results

Why do the 2 produce different "current" objects? How can this happen?
Context:
Those calls are made inside an ajax call while resolving a route dependencies. If you need more code or context let me know.
Confirmed the same issue in Chrome and Firefox
Ajax call and wrapper function (no modifications whatsoever)
normaCtrl.publicNorma = ['$http', '$state', '$stateParams', 'baseUrl', function ($http, $state, $stateParams, baseUrl)
{
    var id = $stateParams.id;
    return $http.get(baseUrl + "api/public/norma/" + id).then(
        function (response) {
            console.log($state);
            console.log($state.current);
            console.log($state.current.title);
            return response.data;
        }
    );
}];
 
     
    