diff --git a/modules/gui/qt/player/player_controller.cpp b/modules/gui/qt/player/player_controller.cpp
index 9eaff1523226aa6080dd17c7999f3d966d1fef87..0843900ed5877e8269651ff4b1b77c93bbec2645 100644
--- a/modules/gui/qt/player/player_controller.cpp
+++ b/modules/gui/qt/player/player_controller.cpp
@@ -1880,7 +1880,7 @@ void PlayerController::setArt( input_item_t *p_item, QString fileUrl )
         QString old_url = decodeArtURL( p_item );
         old_url = QDir( old_url ).canonicalPath();
 
-        if( old_url.startsWith( QString::fromUtf8( psz_cachedir ) ) )
+        if( psz_cachedir != nullptr && old_url.startsWith( QString::fromUtf8( psz_cachedir ) ) )
             QFile( old_url ).remove(); /* Purge cached artwork */
 
         free( psz_cachedir );