diff --git a/protocol/lufa.mk b/protocol/lufa.mk
index 48ce9ae879..ac70ac0391 100644
--- a/protocol/lufa.mk
+++ b/protocol/lufa.mk
@@ -1,7 +1,7 @@
 LUFA_DIR = protocol/lufa
 
 # Path to the LUFA library
-ifeq (, $(wildcard $(TOP_DIR)/$(LUFA_DIR)/LUFA-git))
+ifeq (, $(wildcard $(TOP_DIR)/$(LUFA_DIR)/LUFA-git/LUFA/Version.h))
     LUFA_PATH ?= $(LUFA_DIR)/LUFA-120730
 else
     LUFA_PATH ?= $(LUFA_DIR)/LUFA-git
diff --git a/protocol/lufa/descriptor.h b/protocol/lufa/descriptor.h
index e0acec8050..a2db4bfd7b 100644
--- a/protocol/lufa/descriptor.h
+++ b/protocol/lufa/descriptor.h
@@ -162,6 +162,7 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
 
 /* new API */
 #if LUFA_VERSION_INTEGER < 0x140302
+    #undef VERSION_BCD
     #define VERSION_BCD(Major, Minor, Revision) \
                                               CPU_TO_LE16( ((Major & 0xFF) << 8) | \
                                                            ((Minor & 0x0F) << 4) | \