diff --git a/src/output/plugins/SndioOutputPlugin.cxx b/src/output/plugins/SndioOutputPlugin.cxx
index 5f3ab23c5af78d42e567302bb84590194d71ea74..bcda3126ae806e58aa2ff47a3c77a07e16c88c03 100644
--- a/src/output/plugins/SndioOutputPlugin.cxx
+++ b/src/output/plugins/SndioOutputPlugin.cxx
@@ -19,7 +19,6 @@
 
 #include "config.h"
 #include "SndioOutputPlugin.hxx"
-#include "../OutputAPI.hxx"
 #include "util/Domain.hxx"
 #include "Log.hxx"
 
@@ -44,25 +43,6 @@ static constexpr unsigned MPD_SNDIO_BUFFER_TIME_MS = 250;
 
 static constexpr Domain sndio_output_domain("sndio_output");
 
-class SndioOutput final : AudioOutput {
-	const char *const device;
-	const unsigned buffer_time; /* in ms */
-	struct sio_hdl *sio_hdl;
-
-public:
-	SndioOutput(const ConfigBlock &block);
-
-	static AudioOutput *Create(EventLoop &,
-				   const ConfigBlock &block) {
-		return new SndioOutput(block);
-	}
-
-private:
-	void Open(AudioFormat &audio_format) override;
-	void Close() noexcept override;
-	size_t Play(const void *chunk, size_t size) override;
-};
-
 SndioOutput::SndioOutput(const ConfigBlock &block)
 	:AudioOutput(0),
 	 device(block.GetBlockValue("device", SIO_DEVANY)),
@@ -71,6 +51,11 @@ SndioOutput::SndioOutput(const ConfigBlock &block)
 {
 }
 
+AudioOutput *
+SndioOutput::Create(EventLoop &, const ConfigBlock &block) {
+	return new SndioOutput(block);
+}
+
 static bool
 sndio_test_default_device()
 {
diff --git a/src/output/plugins/SndioOutputPlugin.hxx b/src/output/plugins/SndioOutputPlugin.hxx
index 5ad43f0f644584e28838805f85903cf0b9ac2990..288042d40afca92f85aeab2dde88b217c6e99057 100644
--- a/src/output/plugins/SndioOutputPlugin.hxx
+++ b/src/output/plugins/SndioOutputPlugin.hxx
@@ -17,9 +17,28 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
+#include "../OutputAPI.hxx"
+
 #ifndef MPD_SNDIO_OUTPUT_PLUGIN_HXX
 #define MPD_SNDIO_OUTPUT_PLUGIN_HXX
 
 extern const struct AudioOutputPlugin sndio_output_plugin;
 
+class SndioOutput final : AudioOutput {
+	const char *const device;
+	const unsigned buffer_time; /* in ms */
+	struct sio_hdl *sio_hdl;
+
+public:
+	SndioOutput(const ConfigBlock &block);
+
+	static AudioOutput *Create(EventLoop &,
+				   const ConfigBlock &block);
+
+private:
+	void Open(AudioFormat &audio_format) override;
+	void Close() noexcept override;
+	size_t Play(const void *chunk, size_t size) override;
+};
+
 #endif