diff --git a/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift b/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift
index 5ebbc0978f4f14a8bb4b0b63567c19ba54ef1712..aff0feda7361afb36872e63e516142ad6339df91 100644
--- a/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift
+++ b/Sources/Playback/Player/AudioPlayer/AudioPlayerView.swift
@@ -376,6 +376,18 @@ class AudioPlayerView: UIView, UIGestureRecognizerDelegate {
         playbackSpeedButton.alpha = enabled ? 1.0 : 0.5
     }
 
+    func shouldEnableSeekButtons(_ enabled: Bool) {
+        backwardButton.isEnabled = enabled
+        backwardButton.isHidden = !enabled
+        forwardButton.isEnabled = enabled
+        forwardButton.isHidden = !enabled
+
+        previousButton.isEnabled = !enabled
+        previousButton.isHidden = enabled
+        nextButton.isEnabled = !enabled
+        nextButton.isHidden = enabled
+    }
+
     func updateConstraints(for orientation: UIDeviceOrientation) {
         let isPad: Bool = UIDevice.current.userInterfaceIdiom == .pad
 
diff --git a/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift b/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift
index 6d5ea2b38b5fe4245fb6ea8eae23618b4729b7da..c25138e25a6a778b2b7a3f10b38ad2d2dfa1187f 100644
--- a/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift
+++ b/Sources/Playback/Player/AudioPlayer/AudioPlayerViewController.swift
@@ -320,6 +320,10 @@ class AudioPlayerViewController: PlayerViewController {
 
         return orientation
     }
+
+    @objc override func updatePlayerControls() {
+        audioPlayerView.shouldEnableSeekButtons(playbackService.mediaList.count == 1)
+    }
 }
 
 // MARK: - AudioPlayerViewDelegate
@@ -439,6 +443,7 @@ extension AudioPlayerViewController {
                                       for: playbackService)
 
         audioPlayerView.updatePlayButton(isPlaying: isPlaying)
+        audioPlayerView.shouldEnableSeekButtons(playbackService.mediaList.count == 1)
 
         let image: UIImage? = isPlaying ? UIImage(named: "minimize") : UIImage(named: "close")
         let accessibilityLabel: String = isPlaying ? NSLocalizedString("MINIMIZE_BUTTON", comment: "") : NSLocalizedString("STOP_BUTTON", comment: "")
diff --git a/Sources/Playback/Player/PlayerViewController.swift b/Sources/Playback/Player/PlayerViewController.swift
index efc39d4a46e64146ee05d4f2f6b8c8a5e74779d1..661961fa11174523174932206e3ebbfedaddfba6 100644
--- a/Sources/Playback/Player/PlayerViewController.swift
+++ b/Sources/Playback/Player/PlayerViewController.swift
@@ -630,10 +630,13 @@ class PlayerViewController: UIViewController {
         volumeView.alpha = 0.00001
         view.addSubview(volumeView)
     }
-    
+
     private func setupObservers() {
         try? AVAudioSession.sharedInstance().setActive(true)
         AVAudioSession.sharedInstance().addObserver(self, forKeyPath: "outputVolume", options: NSKeyValueObservingOptions.new, context: nil)
+
+        NotificationCenter.default.addObserver(self, selector: #selector(updatePlayerControls), name: .VLCDidAppendMediaToQueue, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(updatePlayerControls), name: .VLCDidRemoveMediaFromQueue, object: nil)
     }
 
     private func setupSeekDurations() {
@@ -901,6 +904,10 @@ class PlayerViewController: UIViewController {
 
         executeSeekFromGesture(.tap)
     }
+
+    @objc func updatePlayerControls() {
+        // UPDATE THE PLAYER CONTROLS
+    }
 }
 
 // MARK: - VLCPlaybackServiceDelegate