     # 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
-      @scrollToBottom()
+      scrollToPosition('bottom', 300)
       return
     @activeState = true
 

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

      # scroll to end of page
      @scrollToBottom()

    @positionPageHeaderStart()
    @autosaveStart()

    if @shown

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