diff --git a/Makefile.include b/Makefile.include
index 0fb3bf66462194389e6ff9fd748e8a920144e83c..863f32e437fc77021afe6f800ad5e957e9d24410 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -292,8 +292,12 @@ ifeq ($(origin RIOT_VERSION), undefined)
   endif
 endif
 
+# Set module by prepending APPLICATION name with 'application_'.
+# It prevents conflict with application and modules with the same name.
+APPLICATION_MODULE ?= application_$(APPLICATION)
+
 # the binaries to link
-BASELIBS += $(BINDIR)/${APPLICATION}.a
+BASELIBS += $(BINDIR)/$(APPLICATION_MODULE).a
 BASELIBS += $(APPDEPS)
 
 .PHONY: all link clean flash term doc debug debug-server reset objdump help info-modules
diff --git a/examples/bindist/Makefile b/examples/bindist/Makefile
index 0a8ff1c660027144115fd3e1e7fa8f679ac64f9e..bcde8afa0da2a065ea4f3b6148373d32498a12cb 100644
--- a/examples/bindist/Makefile
+++ b/examples/bindist/Makefile
@@ -22,8 +22,8 @@ QUIET ?= 1
 # to flag that the directory should only be included when doing a normal build,
 # and that the resulting .a should be saved when doing "make bindist"
 BIN_DIRS += abc
-BIN_USEMODULE += abc        # include "abc" module
-BIN_USEMODULE += bindist    # include application module (named $APPLICATION)
+BIN_USEMODULE += abc                    # include "abc" module
+BIN_USEMODULE += $(APPLICATION_MODULE)  # include application module
 
 # list of extra files to include in binary distribution
 DIST_FILES += Makefile
diff --git a/makefiles/application.inc.mk b/makefiles/application.inc.mk
index 36450d1e1d8a257244ecfd6065228009566f642e..5bbcb7c4acf5681ae930870559994f89ba389f29 100644
--- a/makefiles/application.inc.mk
+++ b/makefiles/application.inc.mk
@@ -1,4 +1,4 @@
-MODULE = $(APPLICATION)
+MODULE = $(APPLICATION_MODULE)
 
 DIRS += $(RIOTCPU)/$(CPU) $(RIOTBOARD)/$(BOARD)
 DIRS += $(RIOTBASE)/core $(RIOTBASE)/drivers $(RIOTBASE)/sys
diff --git a/makefiles/vars.inc.mk b/makefiles/vars.inc.mk
index 0bd39055ccadf30ae01223214f7e9fe7f7c6aaa3..1ab9bbfb7dea431f90d9227df39659f542f45b42 100644
--- a/makefiles/vars.inc.mk
+++ b/makefiles/vars.inc.mk
@@ -6,6 +6,7 @@ export QQ                    # as Q, but be more quiet
 export QUIET                 # The parameter to use whether to show verbose makefile commands or not.
 
 export APPLICATION           # The application, set in the Makefile which is run by the user.
+export APPLICATION_MODULE    # The application module name.
 export BOARD                 # The board to compile the application for.
 export CPU                   # The CPU, set by the board's Makefile.include.
 export CPU_MODEL             # The specific identifier of the used CPU, used for some CPU implementations to differentiate between different memory layouts