       if options.boundMargin and
          (Math.abs(touch.y - y) < options.boundMargin and
          Math.abs(touch.x - x) < options.boundMargin)
-        element.addClass options.activeClass
+        element.addClass options.activeClass unless touch.nestedTap
         touch.ongoing = on
         if options.noScroll
           e.preventDefault()

        element.removeClass options.activeClass

    element.bind 'touchend touchcancel', (e) ->
      if touch.ongoing and e.type is 'touchend'
        scope.$apply $parse(attrs.bpTap), {$event: e, touch}
        element.trigger 'tap', angular.extend {type: 'tap', touch}, e
      touch = {}

        else
          0
      touch.ongoing = yes
      if $(e.target).attr('bp-tap') and element[0] isnt e.target
        touch.nestedTap = yes
      else
        element.addClass options.activeClass

    element.bind 'touchmove', (e) ->
      y =
