diff --git a/SMPDataFlowAnalysis.cpp b/SMPDataFlowAnalysis.cpp
index 81528c5452fa9f20d2370feec6f570bd7e3a4ae7..5c1e40d85cbeef095d9f1a2bf5d6e8320f7f35d6 100644
--- a/SMPDataFlowAnalysis.cpp
+++ b/SMPDataFlowAnalysis.cpp
@@ -64,7 +64,13 @@
 #define SMP_DEBUG_FRAMEFIXUP 0  // Fixing up stack frame info the way we want the offsets
 #define SMP_DEBUG_OPERAND_TYPES 1  // leave on; warnings that should never happen
 
-const char *RegNames[R_mxcsr + 1] =
+#if IDA_SDK_VERSION > 560
+#define MAX_IDA_REG R_mxcsr
+#else
+#define MAX_IDA_REG 80
+#endif
+
+const char *RegNames[MAX_IDA_REG + 1] =
 	{ "EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI",
 	  "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15",
 	  "AL", "CL", "DL", "BL", "AH", "CH", "DH", "BH",