diff --git a/Demos/Device/ClassDriver/AudioInput/asf.xml b/Demos/Device/ClassDriver/AudioInput/asf.xml
index 87a117a085345de3e292d7077920497fa4fd60dd..3320ea79699e686aa0b614be33f28d0ebc8c4df1 100644
--- a/Demos/Device/ClassDriver/AudioInput/asf.xml
+++ b/Demos/Device/ClassDriver/AudioInput/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/ClassDriver/AudioOutput/asf.xml b/Demos/Device/ClassDriver/AudioOutput/asf.xml
index 0dbc88146eb18c98fa297c950a43473119ced1b0..0b00bb324e347ffa7ac4de7826e63202dea128d9 100644
--- a/Demos/Device/ClassDriver/AudioOutput/asf.xml
+++ b/Demos/Device/ClassDriver/AudioOutput/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/ClassDriver/GenericHID/asf.xml b/Demos/Device/ClassDriver/GenericHID/asf.xml
index 2c09cc4589bc0d9023c1d077058c347d255fcc5b..9996d7bc7e0cbf8cab52cf3bfc46706a88ef9d74 100644
--- a/Demos/Device/ClassDriver/GenericHID/asf.xml
+++ b/Demos/Device/ClassDriver/GenericHID/asf.xml
@@ -32,6 +32,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/ClassDriver/MassStorage/asf.xml b/Demos/Device/ClassDriver/MassStorage/asf.xml
index bcd3b7ec1d207193b54fe20233e6f66eee919e07..7c93d23a732863c793a97e68bdf923d2008aa58a 100644
--- a/Demos/Device/ClassDriver/MassStorage/asf.xml
+++ b/Demos/Device/ClassDriver/MassStorage/asf.xml
@@ -38,6 +38,7 @@
 		<build type="header-file" value="Lib/SCSI.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml b/Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml
index fb1256ec87ca9fd131e57aecb19bba964cc0882c..f9743419029fbc424dbe625fe0ecfb3e077b5ada 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/asf.xml
@@ -39,6 +39,7 @@
 		<build type="header-file" value="Lib/SCSI.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/asf.xml b/Demos/Device/ClassDriver/RNDISEthernet/asf.xml
index 526ece60fa3671f730243cf9199fcda85c3dd6bf..1c3dfe97f35979da63020ddec731b837a4e80801 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/asf.xml
+++ b/Demos/Device/ClassDriver/RNDISEthernet/asf.xml
@@ -51,6 +51,7 @@
 		<build type="header-file" value="Lib/EthernetProtocols.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml b/Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml
index f02759736d378d0818b3056d16b5cc5fd11b2f8d..3aec58ded8f6deb74c246d7588505f14c5db72b2 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml
+++ b/Demos/Device/ClassDriver/VirtualSerialMassStorage/asf.xml
@@ -40,6 +40,7 @@
 		<build type="header-file" value="Lib/SCSI.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/LowLevel/AudioInput/asf.xml b/Demos/Device/LowLevel/AudioInput/asf.xml
index 3b62f83f2f503ca1c698e453483ba3691661e8d8..f95f448a860c3174b415206af640b143adaf7865 100644
--- a/Demos/Device/LowLevel/AudioInput/asf.xml
+++ b/Demos/Device/LowLevel/AudioInput/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/LowLevel/AudioOutput/asf.xml b/Demos/Device/LowLevel/AudioOutput/asf.xml
index 522f1d0e5483f3e0630977365235de26b55a0e0e..07ffa3624a8e22a75729783bb3fc9f198b0efda6 100644
--- a/Demos/Device/LowLevel/AudioOutput/asf.xml
+++ b/Demos/Device/LowLevel/AudioOutput/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/LowLevel/GenericHID/asf.xml b/Demos/Device/LowLevel/GenericHID/asf.xml
index 436e7b4d97fc0d2864bfa0f1aace0f26aed8c27a..c303c6b3248cf012ca3dc808e5756f26f6717011 100644
--- a/Demos/Device/LowLevel/GenericHID/asf.xml
+++ b/Demos/Device/LowLevel/GenericHID/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/LowLevel/MassStorage/asf.xml b/Demos/Device/LowLevel/MassStorage/asf.xml
index 6ffa794379a47b5c1ae3328a409e014ca6262c14..ffe07fbcff27da9c253ed16ed532fec6d1e3f1ed 100644
--- a/Demos/Device/LowLevel/MassStorage/asf.xml
+++ b/Demos/Device/LowLevel/MassStorage/asf.xml
@@ -38,6 +38,7 @@
 		<build type="header-file" value="Lib/SCSI.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Device/LowLevel/RNDISEthernet/asf.xml b/Demos/Device/LowLevel/RNDISEthernet/asf.xml
index b33bf8238af96f65b4c70cdef0b3e6ebb1d9ac19..292690f10698e162b3b8b13d13098cf15d7f70b4 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/asf.xml
+++ b/Demos/Device/LowLevel/RNDISEthernet/asf.xml
@@ -53,6 +53,7 @@
 		<build type="header-file" value="Lib/EthernetProtocols.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Host/ClassDriver/AudioOutputHost/asf.xml b/Demos/Host/ClassDriver/AudioOutputHost/asf.xml
index c09757fed9327d3de39c173c8316f112d67809ca..45aaa7de6d01bc36c7afd0ac2e5bfe2334b8e073 100644
--- a/Demos/Host/ClassDriver/AudioOutputHost/asf.xml
+++ b/Demos/Host/ClassDriver/AudioOutputHost/asf.xml
@@ -32,6 +32,7 @@
 		<build type="header-file" value="AudioOutputHost.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Demos/Host/LowLevel/AudioOutputHost/asf.xml b/Demos/Host/LowLevel/AudioOutputHost/asf.xml
index 0f9f4efde7a3be0abcbedce7187c147b40749188..56b9944781378856a2d77cccbdcc64a03356d6d4 100644
--- a/Demos/Host/LowLevel/AudioOutputHost/asf.xml
+++ b/Demos/Host/LowLevel/AudioOutputHost/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="ConfigDescriptor.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/LUFA/StudioIntegration/makefile b/LUFA/StudioIntegration/makefile
index 9dee4379793848ac55d1eee54a570908253af2db..207d7d0494f18035b3951a4d1c3c206dc760bda5 100644
--- a/LUFA/StudioIntegration/makefile
+++ b/LUFA/StudioIntegration/makefile
@@ -83,4 +83,7 @@ check_filenames: $(MODULE_OUTPUT_XML)
 	done;
 	@echo Verified referenced filenames of ASF.xml modules.
 
+sanity_check:
+	python ProjectGenerator/project_generator.py -b $(LUFA_ROOT)/../ --main-ext-uuid=0e160d5c-e331-48d9-850b-e0387912171b CHECK
+
 .PHONY: all clean generate_xml generate_vsix check_filenames
diff --git a/Projects/AVRISP-MKII/asf.xml b/Projects/AVRISP-MKII/asf.xml
index 44be0aa7ec0e8cfe1f5ebeb9206e58936194f3ba..fe05c5ce15a26434ce5eddedf2a7f785c945a368 100644
--- a/Projects/AVRISP-MKII/asf.xml
+++ b/Projects/AVRISP-MKII/asf.xml
@@ -89,6 +89,7 @@
 		<build type="header-file" value="Lib/XPROG/TINYNVM.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Projects/Benito/asf.xml b/Projects/Benito/asf.xml
index 8d29e9457edd9eb54a4c1583bac0bad11874e832..42657cabb12b0e2b5e8fe5ffa22a9a2269d52dec 100644
--- a/Projects/Benito/asf.xml
+++ b/Projects/Benito/asf.xml
@@ -35,6 +35,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Projects/MIDIToneGenerator/asf.xml b/Projects/MIDIToneGenerator/asf.xml
index 55d4a5d3ed7aa724eca1d2d39002e66dbb0f01d6..7a3e64da97c28ce7d275ae543b7ce1a5334437dc 100644
--- a/Projects/MIDIToneGenerator/asf.xml
+++ b/Projects/MIDIToneGenerator/asf.xml
@@ -34,6 +34,7 @@
 		<build type="header-file" value="Descriptors.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Projects/Magstripe/asf.xml b/Projects/Magstripe/asf.xml
index edb03751a18250c887dfea28f66e348bbb2fabe7..c5e885045e821a3943719cd3b92a1ac1a1271ca7 100644
--- a/Projects/Magstripe/asf.xml
+++ b/Projects/Magstripe/asf.xml
@@ -38,6 +38,7 @@
 		<build type="header-file" value="Lib/MagstripeHW.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Projects/TempDataLogger/asf.xml b/Projects/TempDataLogger/asf.xml
index 6e5528b1ce134a113dd81e42b71e63b2c186caaa..55a1a19de5a7b7c40dade859f50b1ac366d8d97c 100644
--- a/Projects/TempDataLogger/asf.xml
+++ b/Projects/TempDataLogger/asf.xml
@@ -53,6 +53,7 @@
 		<build type="header-file" value="Lib/FATFs/integer.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Projects/Webserver/asf.xml b/Projects/Webserver/asf.xml
index abb30fe653c0426b140fd1129d0d452f527ce0f7..d4934bcc5d1f7ee7eaf5dc1f1c3a262eb2237b0e 100644
--- a/Projects/Webserver/asf.xml
+++ b/Projects/Webserver/asf.xml
@@ -78,6 +78,7 @@
 		<build type="header-file" value="Lib/uip/uipopt.h"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>
 
diff --git a/Projects/XPLAINBridge/asf.xml b/Projects/XPLAINBridge/asf.xml
index f410b6f2efcc25596184fc44effa19df13861104..91fb723348d95b274a64b29f9989902fbc736019 100644
--- a/Projects/XPLAINBridge/asf.xml
+++ b/Projects/XPLAINBridge/asf.xml
@@ -40,6 +40,7 @@
 		<require idref="lufa.projects.avrispmkii_clone.src"/>
 
 		<build type="module-config" subtype="path" value="Config"/>
+		<build type="module-config" subtype="required-header-file" value="AppConfig.h"/>
 		<build type="header-file" value="Config/AppConfig.h"/>
 		<build type="header-file" value="Config/LUFAConfig.h"/>