     if @shown
 
       # scroll to article if given
-      if @article_id
+      if @article_id && @article_id isnt @last_article_id
+        @last_article_id = @article_id
         scrollTo = =>
           @scrollToArticle(@article_id)
         @delay(scrollTo, 300)

      App.Event.trigger('ui::ticket::shown', { ticket_id: @ticket_id })

      # scroll to end of page
      @scrollToBottom()

    @positionPageHeaderStart()
    @autosaveStart()

    # set all notifications to seen
    App.OnlineNotification.seen('Ticket', @ticket_id)

    scrollToPosition = (position, delay) =>
      scrollToDelay = =>
        if position is 'article'
          @scrollToArticle(@last_article_id)
          return
        @scrollToBottom()
      @delay(scrollToDelay, delay, 'scrollToPosition')

    # scroll to article if given
    if params.article_id && params.article_id isnt @last_article_id
      @last_article_id = params.article_id
      scrollToPosition('article', 300)

    # if controller is executed twice, go to latest article (e. g. click on notification)
    if @activeState
      scrollToPosition('bottom', 300)
      return
    @activeState = true

