     }
     , assets.data
 
-    @visibleTooltips.push tooltip
+    if @visibleTooltips.indexOf(parentView.tooltip) is -1
+      @visibleTooltips.push parentView.tooltip
 
     tooltip.on "IntroductionTooltipClosed", =>
       @close parentView.getOptions().introId

            item.expiryDate = snippet.expiryDate
            @createInstance null, item

        @addOverlay() if @shouldAddOverlay and @visibleTooltips.length > 0

  createInstance: (parentView, data) ->
    assets = @getAssets parentView, data

      for tooltipInstance in @visibleTooltips
        tooltipInstance.getOptions().parentView.tooltip?.destroy()
      @overlay.remove()
      @visibleTooltips.length = 0

  addLayers: ->
    windowController = KD.getSingleton("windowController")
    mainView         = KD.getSingleton("contentPanel")
    for tooltip in @visibleTooltips
      windowController.addLayer tooltip
      tooltip.on "ReceivedClickElsewhere", =>
        tooltip.destroy() for tooltip in @visibleTooltips when tooltip
        @visibleTooltips.length = 0