diff --git a/hyrax/app/models/file_set.rb b/hyrax/app/models/file_set.rb
index 1ca7d46c9f2d99db87c3291a4d84f966a536557e..992accac07162f5ee9c551be6973349229e41032 100644
--- a/hyrax/app/models/file_set.rb
+++ b/hyrax/app/models/file_set.rb
@@ -5,7 +5,7 @@ class FileSet < ActiveFedora::Base
   self.indexer = CrcFileSetIndexer
 
   after_save :create_file_set_with_fast_load_meta_data
-  after_destroy :destroy_set_meta_data
+  before_destroy :destroy_set_meta_data
 
   property :for_complex_identifier, predicate: ::RDF::Vocab::Rdms.forComplexIdentifier, multiple: false  do |index|
     index.as :stored_searchable, :facetable
@@ -79,7 +79,13 @@ class FileSet < ActiveFedora::Base
   end
 
   def destroy_set_meta_data
+    s3 = S3StorageService.new
+    s3.init_client
+    bucket_name = s3.sanitise_name(self.parent.id)
     meta_data = FileSetFastLoadMetadata.find_by(fedora_file_set_id: self.id)
     meta_data.destroy! if meta_data.present?
+
+    s3.delete_object(bucket_name, self.object_key_on_s3)
+    parent.update(date_modified: DateTime.now)
   end
 end