diff --git a/Config.h b/Config.h
index 410d011..17554a3 100644
--- a/Config.h
+++ b/Config.h
@@ -4,8 +4,12 @@
 //---------------------------------------------------------------------------
 // Configuration for JIT & MC Assembler
 //---------------------------------------------------------------------------
-#define CLASSIC_JIT 1
-#define MC_ASSEMBLER 0
+#define USE_OLD_JIT 1
+#define USE_MCJIT 0
+
+#if !USE_OLD_JIT && !USE_MCJIT
+#error "You should choose at least one code generation method."
+#endif
 
 //---------------------------------------------------------------------------
 // Configuration for libbcc
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index c3b4a4a..353f397 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -301,11 +301,11 @@
   const llvm::Target *Target;
   std::string FeaturesStr;
 
-#if CLASSIC_JIT
+#if USE_OLD_JIT
   llvm::FunctionPassManager *CodeGenPasses = NULL;
 #endif
 
-#if MC_ASSEMBLER
+#if USE_MCJIT
   bool RelaxAll = true;
   llvm::PassManager MCCodeGenPasses;
 
@@ -520,7 +520,7 @@
     LTOPasses.run(*mModule);
   }
 
-#if CLASSIC_JIT
+#if USE_OLD_JIT
   // Create code-gen pass to run the code emitter
   CodeGenPasses = new llvm::FunctionPassManager(mModule);
   CodeGenPasses->add(new llvm::TargetData(*TD));
@@ -546,7 +546,7 @@
   CodeGenPasses->doFinalization();
 #endif
 
-#if MC_ASSEMBLER
+#if USE_MCJIT
   TM->setMCRelaxAll(RelaxAll);
 
   MCCodeGenPasses.add(new llvm::TargetData(*TD));
@@ -560,6 +560,7 @@
 
   MCCodeGenPasses.run(*mModule);
 #endif
+
   // Copy the global address mapping from code emitter and remapping
   if (ExportVarMetadata) {
     ScriptCompiled::ExportVarList &varList = mpResult->mExportVars;
