diff --git a/Changelog.md b/Changelog.md
index e3ecbcf4727f6e49bbbc9b906889aee16a3da9a0..4723bd45f9e00435fcf2ca40f65cea11d6f78336 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -15,6 +15,7 @@
 * More buttons in mobile streams are fixed [#7036](https://github.com/diaspora/diaspora/pull/7036)
 * Fixed missing sidebar background in the contacts tab [#7064](https://github.com/diaspora/diaspora/pull/7064)
 * Fix tags URLs in hovercards [#7075](https://github.com/diaspora/diaspora/pull/7075)
+* Fix 500 in html requests for post interactions [#7085](https://github.com/diaspora/diaspora/pull/7085)
 
 ## Features
 * Deleted comments will be removed when loading more comments [#7045](https://github.com/diaspora/diaspora/pull/7045)
diff --git a/app/controllers/posts_controller.rb b/app/controllers/posts_controller.rb
index be2c2dcc90a9a15af2021a22bf1d112f1b104a61..e88af7a778496aea22ef8949eff25b1f05ca6387 100644
--- a/app/controllers/posts_controller.rb
+++ b/app/controllers/posts_controller.rb
@@ -41,8 +41,13 @@ class PostsController < ApplicationController
   end
 
   def interactions
-    post = post_service.find!(params[:id])
-    respond_with PostInteractionPresenter.new(post, current_user)
+    respond_to do |format|
+      format.json {
+        post = post_service.find!(params[:id])
+        render json: PostInteractionPresenter.new(post, current_user)
+      }
+      format.any { render nothing: true, status: 406 }
+    end
   end
 
   def destroy
diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb
index 7c3bb4384852412aa0ee8a44f650197c99f28b09..82464ad3a4011983719739e5b5424cb8fca78983 100644
--- a/spec/controllers/posts_controller_spec.rb
+++ b/spec/controllers/posts_controller_spec.rb
@@ -136,6 +136,38 @@ describe PostsController, type: :controller do
     end
   end
 
+  describe "#interactions" do
+    context "user not signed in" do
+      it "returns a 401 for private posts and format json" do
+        get :interactions, id: post.id, format: :json
+        expect(response.status).to eq(401)
+        expect(JSON.parse(response.body)["error"]).to eq(I18n.t("devise.failure.unauthenticated"))
+      end
+
+      it "returns a 406 for private posts and format html" do
+        get :interactions, id: post.id
+        expect(response.status).to eq(406)
+      end
+    end
+
+    context "user signed in" do
+      before do
+        sign_in alice
+      end
+
+      it "shows interactions of a post as json" do
+        get :interactions, id: post.id, format: :json
+        expect(response.body).to eq(PostInteractionPresenter.new(post, alice).to_json)
+      end
+
+      it "returns a 406 for format html" do
+        sign_in alice
+        get :interactions, id: post.id
+        expect(response.status).to eq(406)
+      end
+    end
+  end
+
   describe "#destroy" do
     context "own post" do
       before do