diff --git a/Makefile.am b/Makefile.am
index 1114964b7..08c3b5ce6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1351,7 +1351,6 @@ test_test_pcm_LDADD = \
 
 test_test_queue_priority_SOURCES = \
 	src/queue.c \
-	test/FakeSong.cxx \
 	test/test_queue_priority.c
 test_test_queue_priority_LDADD = \
 	$(GLIB_LIBS)
diff --git a/test/test_queue_priority.c b/test/test_queue_priority.c
index a7106a8e9..2fc1a3706 100644
--- a/test/test_queue_priority.c
+++ b/test/test_queue_priority.c
@@ -1,5 +1,20 @@
+#include "config.h"
 #include "queue.h"
 #include "song.h"
+#include "directory.h"
+
+struct directory detached_root;
+
+struct song *
+song_dup_detached(const struct song *src)
+{
+	union {
+		const struct song *in;
+		struct song *out;
+	} u = { .in = src };
+
+	return u.out;
+}
 
 void
 song_free(G_GNUC_UNUSED struct song *song)