diff --git a/src/class_linker.cc b/src/class_linker.cc
index 159fbf7..8ea4295 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -60,7 +60,7 @@
 #include "runtime.h"
 #include "runtime_support.h"
 #if defined(ART_USE_PORTABLE_COMPILER)
-#include "compiler/llvm/runtime_support_llvm.h"
+#include "runtime_support_llvm.h"
 #endif
 #include "ScopedLocalRef.h"
 #include "scoped_thread_state_change.h"
diff --git a/src/compiler/elf_writer_mclinker.cc b/src/compiler/elf_writer_mclinker.cc
index e1d98f6..47887a5 100644
--- a/src/compiler/elf_writer_mclinker.cc
+++ b/src/compiler/elf_writer_mclinker.cc
@@ -233,7 +233,7 @@
     const DexFile& dex_file = it.GetDexFile();
     uint32_t method_idx = it.GetMemberIndex();
     const CompiledMethod* compiled_method =
-      compiler_driver_->GetCompiledMethod(CompilerDriver::MethodReference(&dex_file, method_idx));
+      compiler_driver_->GetCompiledMethod(MethodReference(&dex_file, method_idx));
     if (compiled_method != NULL) {
       AddCompiledCodeInput(*compiled_method);
     }
@@ -355,7 +355,7 @@
       CHECK(method != NULL);
     }
     const CompiledMethod* compiled_method =
-      compiler_driver_->GetCompiledMethod(CompilerDriver::MethodReference(&dex_file, method_idx));
+      compiler_driver_->GetCompiledMethod(MethodReference(&dex_file, method_idx));
     if (compiled_method != NULL) {
       uint32_t offset = FixupCompiledCodeOffset(*elf_file.get(), oatdata_address, *compiled_method);
       // Don't overwrite static method trampoline
