diff --git a/src/arch/arm/vtophys.cc b/src/arch/arm/vtophys.cc
index 3a67315..4b100f4 100644
--- a/src/arch/arm/vtophys.cc
+++ b/src/arch/arm/vtophys.cc
@@ -71,7 +71,7 @@
     // Set up a functional memory Request to pass to the TLB
     // to get it to translate the vaddr to a paddr
     auto req = std::make_shared<Request>(0, addr, 64, 0x40, -1, 0, 0);
-    ArmISA::TLB *tlb;
+    BaseTLB *tlb;
 
     // Check the TLBs for a translation
     // It's possible that there is a valid translation in the tlb
@@ -80,13 +80,13 @@
     //
     // Calling translateFunctional invokes a table-walk if required
     // so we should always succeed
-    tlb = static_cast<ArmISA::TLB*>(tc->getDTBPtr());
-    fault = tlb->translateFunctional(req, tc, BaseTLB::Read, TLB::NormalTran);
+    tlb = tc->getDTBPtr();
+    fault = tlb->translateFunctional(req, tc, BaseTLB::Read);
     if (fault == NoFault)
         return std::make_pair(true, req->getPaddr());
 
-    tlb = static_cast<ArmISA::TLB*>(tc->getITBPtr());
-    fault = tlb->translateFunctional(req, tc, BaseTLB::Read, TLB::NormalTran);
+    tlb = tc->getITBPtr();
+    fault = tlb->translateFunctional(req, tc, BaseTLB::Read);
     if (fault == NoFault)
         return std::make_pair(true, req->getPaddr());
 
