diff --git a/Demos/Device/ClassDriver/MassStorage/MassStorage.c b/Demos/Device/ClassDriver/MassStorage/MassStorage.c
index 55afed124851a4668a7cd2e790a0c2a5a9cc2afb..6a720f98381cf79c758afed4fb10ea765bf653cb 100644
--- a/Demos/Device/ClassDriver/MassStorage/MassStorage.c
+++ b/Demos/Device/ClassDriver/MassStorage/MassStorage.c
@@ -92,6 +92,13 @@ void SetupHardware(void)
 	Dataflash_Init();
 	USB_Init();
 
+	/* Check if the Dataflash is working, abort if not */
+	if (!(DataflashManager_CheckDataflashOperation()))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+		for(;;);
+	}
+
 	/* Clear Dataflash sector protections, if enabled */
 	DataflashManager_ResetDataflashProtections();
 }
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
index 9f1c5c90d677e7099549588d26b0aa2c3f90e333..bfdf09cebfcbb094a2a94cec1fa4eebb6a544e9a 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
@@ -117,6 +117,13 @@ void SetupHardware(void)
 	Dataflash_Init();
 	USB_Init();
 
+	/* Check if the Dataflash is working, abort if not */
+	if (!(DataflashManager_CheckDataflashOperation()))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+		for(;;);
+	}
+
 	/* Clear Dataflash sector protections, if enabled */
 	DataflashManager_ResetDataflashProtections();
 }
diff --git a/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.c b/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.c
index 13c34d942b337feb887a64d5f616ad26b0b9ee07..d8ffea8736cfb11cd69777c27872bfb0392b83fd 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.c
+++ b/Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.c
@@ -131,6 +131,13 @@ void SetupHardware(void)
 	Dataflash_Init();
 	USB_Init();
 
+	/* Check if the Dataflash is working, abort if not */
+	if (!(DataflashManager_CheckDataflashOperation()))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+		for(;;);
+	}
+
 	/* Clear Dataflash sector protections, if enabled */
 	DataflashManager_ResetDataflashProtections();
 }
diff --git a/Demos/Device/LowLevel/MassStorage/MassStorage.c b/Demos/Device/LowLevel/MassStorage/MassStorage.c
index e58ac745f5e36b4f2133b895faf93b96db03da16..947636cf8259c45aa68d4817dc986371bcd1ecf3 100644
--- a/Demos/Device/LowLevel/MassStorage/MassStorage.c
+++ b/Demos/Device/LowLevel/MassStorage/MassStorage.c
@@ -80,6 +80,13 @@ void SetupHardware(void)
 	Dataflash_Init();
 	USB_Init();
 
+	/* Check if the Dataflash is working, abort if not */
+	if (!(DataflashManager_CheckDataflashOperation()))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+		for(;;);
+	}
+
 	/* Clear Dataflash sector protections, if enabled */
 	DataflashManager_ResetDataflashProtections();
 }
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index d806c6ee8ec94cb5850237fa1ebab520a9c00b42..c769c07e9169b5d9bdd6053cedc36043cf326fde 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -12,6 +12,7 @@
   *   - Added support for the BitWizard Multio and Big-Multio boards
   *  - Library Applications:
   *   - Modified the CDC Host demos to set a default CDC Line Encoding on enumerated devices
+  *   - Added Dataflash operational checks and aborts to all projects using the Dataflash to ensure it is working correctly before use
   *
   *  <b>Changed:</b>
   *  - Core:
diff --git a/Maintenance/makefile b/Maintenance/makefile
index d7230781d531ca666425f6007caf7062fd5ab6bd..ae40fd7571b01c1406345c4cee2c1d13cfbb697e 100644
--- a/Maintenance/makefile
+++ b/Maintenance/makefile
@@ -23,12 +23,6 @@ upgrade-doxygen:
 	done;
 	@echo Doxygen configuration update complete.
 
-# Validate the working branch - compile all documentation, demos/projects/examples and run build tests
-validate-branch:
-	make -s -C $(LUFA_ROOT) doxygen
-	make -s -C $(LUFA_ROOT) all	
-	make -s -C $(LUFA_ROOT)/BuildTests all
-
 # Check the working branch documentation, ensure no placeholder values
 check-documentation-placeholders:
 	@echo Checking for release suitability...
@@ -42,5 +36,11 @@ check-documentation-placeholders:
 	fi;
 	@echo Done.
 
+# Validate the working branch - compile all documentation, demos/projects/examples and run build tests
+validate-branch:
+	make -s -C $(LUFA_ROOT) doxygen
+	make -s -C $(LUFA_ROOT) all	
+	make -s -C $(LUFA_ROOT)/BuildTests all
+
 # Validate the working branch for general release, check for placeholder documentation then build and test everything
-validate-release: check-documentation-placeholders validate-branch
\ No newline at end of file
+validate-release: check-documentation-placeholders validate-branch
diff --git a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
index cc79a832154fda416b49745003b584178b126012..86318e9cb9dc53e03b1672397d7c34b896ca149e 100644
--- a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
+++ b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
@@ -155,6 +155,13 @@ void SetupHardware(void)
 	Serial_CreateStream(NULL);
 
 	#if defined(USB_CAN_BE_DEVICE)
+	/* Check if the Dataflash is working, abort if not */
+	if (!(DataflashManager_CheckDataflashOperation()))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+		for(;;);
+	}
+
 	/* Clear Dataflash sector protections, if enabled */
 	DataflashManager_ResetDataflashProtections();
 	#endif
diff --git a/Projects/TempDataLogger/TempDataLogger.c b/Projects/TempDataLogger/TempDataLogger.c
index 258bfc3869d8604bd2637f411abaf4a4b1127c62..83590b311dfed3b3ea3f70aab3750a4381632973 100644
--- a/Projects/TempDataLogger/TempDataLogger.c
+++ b/Projects/TempDataLogger/TempDataLogger.c
@@ -207,6 +207,13 @@ void SetupHardware(void)
 	TCCR1B  = (1 << WGM12) | (1 << CS12) | (1 << CS10);
 	TIMSK1  = (1 << OCIE1A);
 
+	/* Check if the Dataflash is working, abort if not */
+	if (!(DataflashManager_CheckDataflashOperation()))
+	{
+		LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+		for(;;);
+	}
+
 	/* Clear Dataflash sector protections, if enabled */
 	DataflashManager_ResetDataflashProtections();
 }