diff --git a/app/controllers/v1/learning_objects/attachment_controller.rb b/app/controllers/v1/learning_objects/attachment_controller.rb
index a0bfe1ac9442c2e11c505c6acd07367707f6b76c..5df351e718147870b376c5e74601b7c41448bfa8 100644
--- a/app/controllers/v1/learning_objects/attachment_controller.rb
+++ b/app/controllers/v1/learning_objects/attachment_controller.rb
@@ -36,6 +36,7 @@ class V1::LearningObjects::AttachmentController < ApplicationController
     return render status: :not_found if @learning_object.nil? || @attachment.nil?
 
     DeleteBitstreamWorker.perform_async(@attachment.id)
+    @learning_object.attachments.delete(@attachment)
     if @learning_object.attachment == @attachment
       @learning_object.attachment = nil
       @learning_object.save
@@ -43,6 +44,7 @@ class V1::LearningObjects::AttachmentController < ApplicationController
       @learning_object.reload
       @learning_object.default_attachment
     else
+      @learning_object.save
       @attachment.destroy
     end