diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb
index b02b7bb57238090cb2ee4a00aef085fda0c871bd..3db4dbbd00eb93e420d6b564aa548bbb144fbd56 100644
--- a/app/controllers/api/v1/statuses_controller.rb
+++ b/app/controllers/api/v1/statuses_controller.rb
@@ -9,10 +9,9 @@ class Api::V1::StatusesController < ApiController
   end
 
   def context
-    @status      = Status.find(params[:id])
-    @ancestors   = @status.ancestors
-    @descendants = @status.descendants
-    set_maps([@status] + @ancestors + @descendants)
+    @status  = Status.find(params[:id])
+    @context = OpenStruct.new({ ancestors: @status.ancestors, descendants: @status.descendants })
+    set_maps([@status] + @context[:ancestors] + @context[:descendants])
   end
 
   def create
diff --git a/app/views/api/v1/accounts/relationship.rabl b/app/views/api/v1/accounts/relationship.rabl
index 3e5bf882c1a8022defa3ec868266abda773a4068..4f634877f737a9d06edcc56c220f3d36e2192487 100644
--- a/app/views/api/v1/accounts/relationship.rabl
+++ b/app/views/api/v1/accounts/relationship.rabl
@@ -1,4 +1,5 @@
 object @account
+cache false
 attribute :id
 node(:following)   { |account| @following[account.id]   || false }
 node(:followed_by) { |account| @followed_by[account.id] || false }
diff --git a/app/views/api/v1/accounts/show.rabl b/app/views/api/v1/accounts/show.rabl
index 08199ec215a96b47482705cc6276c54b857008f5..6aec6e14deaa6d8977c93818e743df43ad991a65 100644
--- a/app/views/api/v1/accounts/show.rabl
+++ b/app/views/api/v1/accounts/show.rabl
@@ -1,5 +1,5 @@
 object @account
-cache @account
+cache false
 
 attributes :id, :username, :acct, :display_name, :note
 
diff --git a/app/views/api/v1/statuses/context.rabl b/app/views/api/v1/statuses/context.rabl
index e9176dc29ff5a1c3557466f0b330d6f7d33bdf70..24fa403948428dc1ffef315a84a584fc34ce03b7 100644
--- a/app/views/api/v1/statuses/context.rabl
+++ b/app/views/api/v1/statuses/context.rabl
@@ -1,13 +1,10 @@
-object false
+object @context
+cache false
 
-node :ancestors do
-  @ancestors.map do |status|
-    partial('api/v1/statuses/show', object: status)
-  end
+node :ancestors do |context|
+  partial 'api/v1/statuses/index', object: context.ancestors
 end
 
-node :descendants do
-  @descendants.map do |status|
-    partial('api/v1/statuses/show', object: status)
-  end
+node :descendants do |context|
+  partial 'api/v1/statuses/index', object: context.descendants
 end
diff --git a/app/views/api/v1/statuses/show.rabl b/app/views/api/v1/statuses/show.rabl
index f78716e1b9ec95a3a01f21f6b7b8e917d79be7c2..24493bc3eba272965c35c2e9112c81d0af8f57b5 100644
--- a/app/views/api/v1/statuses/show.rabl
+++ b/app/views/api/v1/statuses/show.rabl
@@ -1,5 +1,5 @@
 object @status
-cache @status
+cache false
 
 extends 'api/v1/statuses/_show'