diff --git a/libunwindstack/DexFiles.cpp b/libunwindstack/DexFiles.cpp
index 3d67a6a..fe6d3c6 100644
--- a/libunwindstack/DexFiles.cpp
+++ b/libunwindstack/DexFiles.cpp
@@ -52,9 +52,9 @@
   return dex_file;
 }
 
-void DexFiles::GetMethodInformation(uint64_t dex_offset, MapInfo* info, std::string* method_name,
-                                    uint64_t* method_offset) {
-  DexFile* dex_file = GetDexFile(dex_offset, info);
+void DexFiles::GetMethodInformation(uint64_t dex_file_offset, uint64_t dex_offset, MapInfo* info,
+                                    std::string* method_name, uint64_t* method_offset) {
+  DexFile* dex_file = GetDexFile(dex_file_offset, info);
   if (dex_file != nullptr) {
     dex_file->GetMethodInformation(dex_offset, method_name, method_offset);
   }
diff --git a/libunwindstack/Unwinder.cpp b/libunwindstack/Unwinder.cpp
index d22e1e8..db8278e 100644
--- a/libunwindstack/Unwinder.cpp
+++ b/libunwindstack/Unwinder.cpp
@@ -95,7 +95,8 @@
   }
 
 #if !defined(NO_LIBDEXFILE_SUPPORT)
-  dex_files_->GetMethodInformation(dex_offset, info, &frame->function_name, &frame->function_offset);
+  dex_files_->GetMethodInformation(dex_pc - dex_offset, dex_offset, info, &frame->function_name,
+                                   &frame->function_offset);
 #endif
 }
 
diff --git a/libunwindstack/include/unwindstack/DexFiles.h b/libunwindstack/include/unwindstack/DexFiles.h
index d80e9b7..50c9c32 100644
--- a/libunwindstack/include/unwindstack/DexFiles.h
+++ b/libunwindstack/include/unwindstack/DexFiles.h
@@ -38,10 +38,10 @@
   explicit DexFiles(std::shared_ptr<Memory>& memory);
   ~DexFiles();
 
-  DexFile* GetDexFile(uint64_t dex_offset, MapInfo* info);
+  DexFile* GetDexFile(uint64_t dex_file_offset, MapInfo* info);
 
-  void GetMethodInformation(uint64_t dex_offset, MapInfo* info, std::string* method_name,
-                            uint64_t* method_offset);
+  void GetMethodInformation(uint64_t dex_file_offset, uint64_t dex_offset, MapInfo* info,
+                            std::string* method_name, uint64_t* method_offset);
 
   void SetArch(ArchEnum arch);
 
