Angular - routing why do I getting my controller 2 times called

I am using routing in angular app. while the page loads, I am getting the controller function triggers 2 times..

How to avoid that or is it have any useful meaning to call 2 times?

any one help me and explain the mistake what i do?

here is my html: //i use jade!

header
            h1 Header
        div.content(ng-controller="HomeController")
            div(ng-view)
        footer
            h5 Footer

here is my js:

var locations = angular.module('location', ['ngRoute']);
locations.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/', {
            controller: 'HomeController',
            templateUrl: 'views/home.html'
        })
        .when('/inbox/:name', {
            controller: 'InboxController',
            templateUrl: 'views/inbox.html'
        })
        .otherwise({redirectTo: '/'});
}]);
locations.controller('HomeController', ['$scope', function($scope){
    console.log('hi'); // i am getting 2 times consoled! -why?
   }]);

Because you have div.content(ng-controller="HomeController") in your template. You don't need to explicitly define ng-controller directive to your header template because It has already been associated using $routeProvider