diff --git a/LUFA/ChangeLog.txt b/LUFA/ChangeLog.txt
index 2c40ba8e3d6df773d362b8e9e7217fe3e88f4310..d538e35fd6970face45c4a8167add8bac146d045 100644
--- a/LUFA/ChangeLog.txt
+++ b/LUFA/ChangeLog.txt
@@ -74,6 +74,9 @@
   *  - Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke)
   *  - Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given
   *    wLength value when reading in the device descriptor
+  *  - Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code (thanks to Morten Lund)
+  *  - Changed LED board driver code to define dummy LED masks for the first four board LEDs, so that user code can be compiled for boards
+  *    with less than four LEDs without code modifications (thanks to Morten Lund)
   *    
   *
   *  \section Sec_ChangeLog090401 Version 090401
diff --git a/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h b/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
index a073d2ef55e4f6f6ebdd35b045dc162f0f977b2b..9f808279afb66ae7070d9d3c9f0c694febbf0adb 100644
--- a/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
+++ b/LUFA/Drivers/Board/ATAVRUSBRF01/LEDs.h
@@ -108,7 +108,7 @@
 			
 			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
 			{
-				PORTD = (PORTD & ~(LEDMask & LEDS_ALL_LEDS)) | (ActiveMask & LEDS_ALL_LEDS))
+				PORTD = ((PORTD & ~(LEDMask & LEDS_ALL_LEDS)) | (ActiveMask & LEDS_ALL_LEDS));
 			}
 			
 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/Drivers/Board/LEDs.h b/LUFA/Drivers/Board/LEDs.h
index 1874dfde3b49f3c96e67b4ad2e9e2ce8df331f95..f65e67c81d9317f6be7dff6c383e63de11a52d10 100644
--- a/LUFA/Drivers/Board/LEDs.h
+++ b/LUFA/Drivers/Board/LEDs.h
@@ -53,6 +53,14 @@
  *  If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
  *  directory. Otherwise, it will include the appropriate built in board driver header file.
  *
+ *  \note To make code as compatible as possible, it is assumed that all boards carry a minimum of four LEDs. If
+ *        a board contains less than four LEDs, the remaining LED masks are defined to 0 so as to have no effect.
+ *        If other behaviour is desired, either alias the remaining LED masks to existing LED masks via the -D 
+ *        switch in the project makefile, or alias them to nothing in the makefile to cause compilation errors when
+ *        a non-existing LED is referenced in application code. Note that this means that it is possible to make
+ *        compatible code for a board with no LEDs by making a board LED driver (see \ref Page_WritingBoardDrivers)
+ *        which contains only stub functions and defines no LEDs.
+ *
  *  @{
  */
 
@@ -84,6 +92,22 @@
 		#include "Board/LEDs.h"
 	#endif
 	
+	#if !defined(LEDS_LED1)
+		#define LEDS_LED1      0
+	#endif
+
+	#if !defined(LEDS_LED2)
+		#define LEDS_LED2      0
+	#endif
+
+	#if !defined(LEDS_LED3)
+		#define LEDS_LED3      0
+	#endif
+
+	#if !defined(LEDS_LED4)
+		#define LEDS_LED4      0
+	#endif
+	
 	/* Pseudo-Functions for Doxygen: */
 	#if defined(__DOXYGEN__)
 		/** Initializes the board LED driver so that the LEDs can be controlled. This sets the appropriate port