diff --git a/Makefile b/Makefile
index 37be43bf7571291cfcffb8251470712c1f9a27b0..9b4abf262fd2602f4c7484d659f3cb8ade047d7a 100644
--- a/Makefile
+++ b/Makefile
@@ -151,6 +151,7 @@ TESTOBJS_C      := $(patsubst %.c,%.o,$(TESTSRCS_C))
 TESTPRGS_C      := $(patsubst %.c,%,$(TESTSRCS_C))
 TESTSPRGS_C     := $(patsubst %.c,%_static,$(TESTSRCS_C))
 TESTSYSPRGS_C   := $(patsubst %.c,%_syslib,$(TESTSRCS_C))
+ALLTESTPRGS     := $(TESTPRGS_C) $(TESTSPRGS_C) $(TESTSYSPRGS_C)
 TESTRUNS        := $(patsubst \
                      $(TESTNAMEPREFIX)%,$(TESTRUNPREFIX)%,$(TESTPRGS_C))
 TESTSRUNS       := $(patsubst \
@@ -502,12 +503,13 @@ $(MANRUNPREFIX)clean:
 	$(RM) $(MANTESTDIR)/*.o $(MANTESTPRGS)
 
 test_clean: xtest_clean $(MANRUNPREFIX)clean
-	$(RM) $(TESTDIR)/*.o $(TESTPRGS) $(XTESTDIR)/*.o $(XTESTPRGS) $(XLIBPATH)
+	$(RM) $(TESTDIR)/*.o $(ALLTESTPRGS) $(XLIBPATH)
+	$(RM) test/test_cmath_* test/test_faccessat_setuid
 	@$(RMDIR) $(XLIBDIR)
 
 clean: $(MANRUNPREFIX)clean test_clean
 	$(RM) $(foreach D,$(SRCDIR),$D/*.o $D/*.o.* $D/*.d)
-	$(RM) $(BUILDDLIBPATH) $(BUILDSLIBPATH) $(BUILDSYSLIBPATH) $(TESTPRGS) test/test_cmath_* test/test_faccessat_setuid
+	$(RM) $(BUILDDLIBPATH) $(BUILDSLIBPATH) $(BUILDSYSLIBPATH)
 	@$(RMDIR) $(BUILDLIBDIR)
 
 .PHONY: all dlib syslib slib clean check test test_cmath xtest