Angularjs $ on llamado dos veces

$rootScope.$broadcast(...)

$scope.$on(...)

var deregister = $scope.$on(...);

deregister(); // destory that listener
SAMER SAEID