diff --git a/app/models/post.rb b/app/models/post.rb
index d6d8e5600f95f72c7dd943727a091a654c37b19b..30c3bb82cbb9ba7940d150a162830af5fa2ba62c 100644
--- a/app/models/post.rb
+++ b/app/models/post.rb
@@ -23,6 +23,7 @@ class Post
   after_save :notify_friends
  
   before_destroy :propagate_delete 
+  after_destroy :destroy_comments
 
   def self.stream
     Post.sort(:created_at.desc).all
@@ -43,6 +44,10 @@ class Post
 
 
   protected
+  def destroy_comments
+    comments.each{|c| c.destroy}
+  end
+  
   def propagate_delete
     Retraction.for(self).notify_friends
   end
diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb
index 93deadc9902a0ee4baa5ff1a5937ae6419364b39..091edd71f7746a82547c2e2d3888846d8e26185b 100644
--- a/spec/models/post_spec.rb
+++ b/spec/models/post_spec.rb
@@ -83,5 +83,15 @@ describe Post do
       (message.to_xml.to_s.include? @user.email).should == true
     end
   end
+
+  describe 'deletion' do
+    it 'should delete a posts comments on delete' do
+      post = Factory.create(:status_message, :person => @user)
+      @user.comment "hey", :on=> post
+      post.destroy
+      Post.all(:id => post.id).empty?.should == true
+      Comment.all(:text => "hey").empty?.should == true
+    end
+  end
 end