       flagVisibleSet = false
       for modal in $('.modal.' + @classes.MESSAGEINSTANCE)
         modalData = $(modal).data('vtex-message')
-        if modalData.domElement[0] isnt @domElement[0]
+        if (modalData.domElement[0] isnt @domElement[0]) and (modalData.visible is true)
           flagVisibleSet = true
           $(modal).one 'hidden', =>
             $(@domElement).modal('show')
+            @visible = true
 
       if not flagVisibleSet
+        $(@domElement).on 'show', => @visible = true
         $(@domElement).modal('show')
 
     if !@usingModal
       @domElement.show()
+      @visible = true
       # se necessário, cria timer para a mensagem
       if @.timeout? and @.timeout isnt 0
         window.setTimeout =>

    # Adiciona o Elemento no DOM
    if @usingModal
      $(@domElement).on 'hidden', =>
        $(window).trigger('removeMessage.vtex', @)
      $(vtex.Messages.getInstance().modalPlaceholder).append(@domElement)
    else

        title: ''
        detail: ''
      close: 'Close'
      type: 'info' # possible types are: ['success', 'info', 'warning', 'danger', 'fatal', 'error']
      visible: true
      usingModal: false
      domElement: $()
      insertMethod: 'append'
