diff --git a/NEWS b/NEWS
index a18d63faf..165985925 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.19.7 (not yet released)
+* playlist
+  - don't skip non-existent songs in "listplaylist"
 
 ver 0.19.6 (2014/12/08)
 * decoder
diff --git a/src/playlist/Print.cxx b/src/playlist/Print.cxx
index 0db2a4ab0..8f743f56d 100644
--- a/src/playlist/Print.cxx
+++ b/src/playlist/Print.cxx
@@ -43,12 +43,13 @@ playlist_provider_print(Client &client, const char *uri,
 	DetachedSong *song;
 	while ((song = e.NextSong()) != nullptr) {
 		if (playlist_check_translate_song(*song, base_uri.c_str(),
-						  loader)) {
-			if (detail)
-				song_print_info(client, *song);
-			else
-				song_print_uri(client, *song);
-		}
+						  loader) &&
+		    detail)
+			song_print_info(client, *song);
+		else
+			/* fallback if no detail was requested or no
+			   detail was available */
+			song_print_uri(client, *song);
 
 		delete song;
 	}