diff --git a/Gemfile b/Gemfile
index 2ebea745d3e8746c315456313d738aea4d811f35..f0adf610c1afd208f69778431873e7d7afdccb47 100644
--- a/Gemfile
+++ b/Gemfile
@@ -68,7 +68,6 @@ gem 'nilsimsa', git: 'https://github.com/witgo/nilsimsa', ref: 'fd184883048b922b
 gem 'nokogiri', '~> 1.10'
 gem 'nsa', '~> 0.2'
 gem 'oj', '~> 3.10'
-gem 'ostatus2', '~> 2.0'
 gem 'ox', '~> 2.11'
 gem 'parslet'
 gem 'parallel', '~> 1.19'
diff --git a/Gemfile.lock b/Gemfile.lock
index b70c59ad50cb7b668c8a1e3fc62ec8b766d8c44f..650d5ef85483e713540933db4cb370a3ac4a10a7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -409,10 +409,6 @@ GEM
       omniauth (~> 1.3, >= 1.3.2)
       ruby-saml (~> 1.7)
     orm_adapter (0.5.0)
-    ostatus2 (2.0.3)
-      addressable (~> 2.5)
-      http (~> 3.0)
-      nokogiri (~> 1.8)
     ox (2.11.0)
     paperclip (6.0.0)
       activemodel (>= 4.2.0)
diff --git a/app/models/account.rb b/app/models/account.rb
index feaf273c1ffd335766e982e031fae4394cbf3427..1e8abe6ec65ca368da7ff68a1cc81ed1f8086626 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -314,10 +314,6 @@ class Account < ApplicationRecord
     self.fields = tmp
   end
 
-  def subscription(webhook_url)
-    @subscription ||= OStatus2::Subscription.new(remote_url, secret: secret, webhook: webhook_url, hub: hub_url)
-  end
-
   def save_with_optional_media!
     save!
   rescue ActiveRecord::RecordInvalid
diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb
index 3cca9b3439a48641b08c97e45a08005f908f2895..4266122b24a1058adce27a4a6d55bfa6e6414f1f 100644
--- a/spec/models/account_spec.rb
+++ b/spec/models/account_spec.rb
@@ -215,13 +215,6 @@ RSpec.describe Account, type: :model do
     end
   end
 
-  describe '#subscription' do
-    it 'returns an OStatus subscription' do
-      account = Fabricate(:account)
-      expect(account.subscription('')).to be_instance_of OStatus2::Subscription
-    end
-  end
-
   describe '#object_type' do
     it 'is always a person' do
       account = Fabricate(:account)