diff --git a/res/Makefile b/res/Makefile
index 4912a1dc970d3a9373695036e6b7ef22d8fe108c..1a0f4568630d5830c739f71ef790b9b263d0e100 100644
--- a/res/Makefile
+++ b/res/Makefile
@@ -26,10 +26,13 @@ all: _all
 include $(ASTTOPDIR)/Makefile.moddir_rules
 
 ifneq ($(findstring $(OSARCH), mingw32 cygwin ),)
-  # order-only dependency: build res_monitor before res_features
+  # cygwin has some dependencies among res_ things.
+  # We use order-only dependencies, and then add the libraries as required.
   res_features.so: | res_monitor.so
-  # res_features uses some functions from res_monitor
   res_features.so_LIBS:= -lres_monitor.so
+  #
+  res_agi.so: | res_speech.so
+  res_agi.so_LIBS:= -lres_speech.so
 endif
 
 ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h