diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index 6b6c730806ced665f9b0fa8e789f24a23b3785fb..d99aea2ebeb56c5b9df5f6e1b24eeaa2eab952ce 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -4,8 +4,8 @@ class TagsController < ApplicationController
   layout 'public'
 
   def show
-    @tag      = Tag.find_by!(name: params[:id].downcase)
-    @statuses = @tag.statuses.order('id desc').paginate_by_max_id(20, params[:max_id])
+    @tag      = Tag.find_by(name: params[:id].downcase)
+    @statuses = @tag.nil? ? [] : Status.as_tag_timeline(@tag, current_account, params[:local]).paginate_by_max_id(20, params[:max_id])
     @statuses = cache_collection(@statuses, Status)
   end
 end