diff --git a/Makefile.am b/Makefile.am
index fcde34527..2dd889466 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2212,6 +2212,7 @@ test_run_output_LDADD = $(MPD_LIBS) \
 	libthread.a \
 	libutil.a
 test_run_output_SOURCES = test/run_output.cxx \
+	test/NullMixerListener.hxx \
 	src/Log.cxx src/LogBackend.cxx \
 	src/output/Domain.cxx \
 	src/output/Registry.cxx \
@@ -2232,6 +2233,7 @@ test_read_mixer_LDADD = \
 	libsystem.a \
 	libutil.a
 test_read_mixer_SOURCES = test/read_mixer.cxx \
+	test/NullMixerListener.hxx \
 	src/Log.cxx src/LogBackend.cxx \
 	src/mixer/MixerControl.cxx \
 	src/filter/plugins/VolumeFilterPlugin.cxx
diff --git a/test/NullMixerListener.hxx b/test/NullMixerListener.hxx
new file mode 100644
index 000000000..ed3986f41
--- /dev/null
+++ b/test/NullMixerListener.hxx
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2003-2018 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef NULL_MIXER_LISTENER_HXX
+#define NULL_MIXER_LISTENER_HXX
+
+#include "mixer/Listener.hxx"
+
+class NullMixerListener : public MixerListener {
+public:
+	void OnMixerVolumeChanged(Mixer &, int) override {}
+};
+
+#endif
diff --git a/test/read_mixer.cxx b/test/read_mixer.cxx
index 4c7efabe3..a0d7487b2 100644
--- a/test/read_mixer.cxx
+++ b/test/read_mixer.cxx
@@ -18,6 +18,7 @@
  */
 
 #include "config.h"
+#include "NullMixerListener.hxx"
 #include "mixer/MixerControl.hxx"
 #include "mixer/MixerList.hxx"
 #include "filter/FilterRegistry.hxx"
@@ -50,9 +51,14 @@ try {
 
 	EventLoop event_loop;
 
+	NullMixerListener mixer_listener;
 	Mixer *mixer = mixer_new(event_loop, alsa_mixer_plugin,
-				 *(AudioOutput *)nullptr,
-				 *(MixerListener *)nullptr,
+				 /* ugly dangerous dummy pointer to
+				    make the compiler happy; this
+				    works with most mixers, because
+				    they don't need the AudioOutput */
+				 *(AudioOutput *)0x1,
+				 mixer_listener,
 				 ConfigBlock());
 
 	mixer_open(mixer);