diff --git a/app/services/recording_creator.rb b/app/services/recording_creator.rb
index 569814f2b368f7ab9a7537960a8af115315c934a..e79a4a8e5eb5e07262b31aac0623b22263d97b2f 100644
--- a/app/services/recording_creator.rb
+++ b/app/services/recording_creator.rb
@@ -80,11 +80,11 @@ class RecordingCreator
   def create_formats(recording:, new_recording:)
     if recording[:playback][:format].is_a?(Array)
       recording[:playback][:format].each do |format|
-        Format.find_or_create_by(recording_id: new_recording.id, recording_type: format[:type], url: format[:url])
+        Format.find_or_create_by(recording_id: new_recording.id, recording_type: format[:type]).update(url: format[:url])
       end
     else
-      Format.find_or_create_by(recording_id: new_recording.id, recording_type: recording[:playback][:format][:type],
-                               url: recording[:playback][:format][:url])
+      Format.find_or_create_by(recording_id: new_recording.id,
+                               recording_type: recording[:playback][:format][:type]).update(url: recording[:playback][:format][:url])
     end
   end