diff --git a/lib/postzord/receiver.rb b/lib/postzord/receiver.rb
index db0af10e0937c5c0e0b397a0f1e0fc9053e30dd2..bfc56ab110e1fcfc4490d79b88eab605c0e0abd3 100644
--- a/lib/postzord/receiver.rb
+++ b/lib/postzord/receiver.rb
@@ -70,6 +70,11 @@ module Postzord
         @object.sender_handle = @sender.diaspora_handle
       end
 
+      # abort if we haven't received the post to a comment
+      if @object.is_a?(Comment) && @object.post.nil?
+        Rails.logger.info("event=receive status=abort reason='received a comment but no corresponding post' recipient=#{@user_person.diaspora_handle} sender=#{@sender.diaspora_handle} payload_type=#{@object.class})")
+        return false
+      end
 
       if (@author.diaspora_handle != xml_author)
         Rails.logger.info("event=receive status=abort reason='author in xml does not match retrieved person' payload_type=#{@object.class} recipient=#{@user_person.diaspora_handle} sender=#{@sender.diaspora_handle}")