I had a similar problem. The first time was shown only after a reboot. The reason is view caching. Disable it with cache: false , as in my specific case:
$stateProvider .state('login', { url: '/login', controller: 'LoginCtrl as vm', templateUrl: 'app/login/login.html' }) .state('tab', { url: '/tab', abstract: true, templateUrl: 'templates/tabs.html', cache: false })
source share