diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include
index 12ff0b1afaba62da34ef36cb0d8b3d035766f184..738fcbd71e0d7ed2cabd0fc18524e30c48da21e8 100644
--- a/cpu/esp32/Makefile.include
+++ b/cpu/esp32/Makefile.include
@@ -118,28 +118,13 @@ endif
 
 LINKFLAGS += -L$(ESP32_SDK_DIR)/components/esp32
 LINKFLAGS += -L$(ESP32_SDK_DIR)/components/esp32/lib
-LINKFLAGS += -Wl,--start-group
 
 ifneq (,$(filter esp_wifi_any,$(USEMODULE)))
-    LINKFLAGS += $(BINDIR)/cpu.a
-    LINKFLAGS += $(BINDIR)/esp_idf.a
-    LINKFLAGS += $(BINDIR)/esp_idf_esp32.a
-    LINKFLAGS += $(BINDIR)/esp_idf_nvs_flash.a
-    LINKFLAGS += $(BINDIR)/esp_idf_spi_flash.a
-    LINKFLAGS += $(BINDIR)/pthread.a
-    LINKFLAGS += $(BINDIR)/riot_freertos.a
-    LINKFLAGS += $(BINDIR)/xtimer.a
-    LINKFLAGS += -lcore -lrtc -lnet80211 -lpp -lsmartconfig -lcoexist
-    LINKFLAGS += -lwps -lwpa -lwpa2 -lespnow -lmesh -lphy -lstdc++
+    BASELIBS += -lcore -lrtc -lnet80211 -lpp -lsmartconfig -lcoexist
+    BASELIBS += -lwps -lwpa -lwpa2 -lespnow -lmesh -lphy -lstdc++
 endif
 
-ifneq (,$(filter pthread,$(USEMODULE)))
-    LINKFLAGS += $(BINDIR)/core.a
-    LINKFLAGS += $(BINDIR)/pthread.a
-endif
-
-LINKFLAGS += -lhal -lg -lc -lg
-LINKFLAGS += -Wl,--end-group
+LINKFLAGS += -lhal -lg -lc
 LINKFLAGS += -L$(RIOTCPU)/$(CPU)/ld/
 LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.ld
 LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.common.ld