diff --git a/src/decoder/plugins/WildmidiDecoderPlugin.cxx b/src/decoder/plugins/WildmidiDecoderPlugin.cxx
index 68a72a30a..37bb026e2 100644
--- a/src/decoder/plugins/WildmidiDecoderPlugin.cxx
+++ b/src/decoder/plugins/WildmidiDecoderPlugin.cxx
@@ -21,10 +21,12 @@
 #include "../DecoderAPI.hxx"
 #include "tag/Handler.hxx"
 #include "util/Domain.hxx"
+#include "util/StringFormat.hxx"
 #include "fs/AllocatedPath.hxx"
 #include "fs/FileSystem.hxx"
 #include "fs/Path.hxx"
 #include "Log.hxx"
+#include "PluginUnavailable.hxx"
 
 extern "C" {
 #include <wildmidi_lib.h>
@@ -43,10 +45,8 @@ wildmidi_init(const ConfigBlock &block)
 
 	if (!FileExists(path)) {
 		const auto utf8 = path.ToUTF8();
-		FormatDebug(wildmidi_domain,
-			    "configuration file does not exist: %s",
-			    utf8.c_str());
-		return false;
+		throw PluginUnavailable(StringFormat<1024>("configuration file does not exist: %s",
+							   utf8.c_str()));
 	}
 
 	return WildMidi_Init(path.c_str(), wildmidi_audio_format.sample_rate,