diff --git a/riscv/riscv_state.h b/riscv/riscv_state.h
index 3c4bbd2..1342a5c 100644
--- a/riscv/riscv_state.h
+++ b/riscv/riscv_state.h
@@ -230,21 +230,6 @@
     return std::make_pair(AddRegister<RegisterType>(name), true);
   }
 
-  // Specialization for RiscV vector registers.
-  template <>
-  std::pair<RVVectorRegister *, bool> GetRegister<RVVectorRegister>(
-      absl::string_view name) {
-    int vector_byte_width = vector_register_width();
-    if (vector_byte_width == 0) return std::make_pair(nullptr, false);
-    auto ptr = registers()->find(std::string(name));
-    if (ptr != registers()->end())
-      return std::make_pair(static_cast<RVVectorRegister *>(ptr->second),
-                            false);
-    // Create a new register and return a pointer to the object.
-    return std::make_pair(
-        AddRegister<RVVectorRegister>(name, vector_byte_width), true);
-  }
-
   // Add register alias.
   template <typename RegisterType>
   absl::Status AddRegisterAlias(absl::string_view current_name,
@@ -448,6 +433,21 @@
   generic::SimpleCounter<int64_t> counter_interrupt_returns_;
 };
 
+// Specialization for RiscV vector registers.
+template <>
+inline std::pair<RVVectorRegister *, bool> RiscVState::GetRegister<RVVectorRegister>(
+    absl::string_view name) {
+  int vector_byte_width = vector_register_width();
+  if (vector_byte_width == 0) return std::make_pair(nullptr, false);
+  auto ptr = registers()->find(std::string(name));
+  if (ptr != registers()->end())
+    return std::make_pair(static_cast<RVVectorRegister *>(ptr->second),
+                          false);
+  // Create a new register and return a pointer to the object.
+  return std::make_pair(
+      AddRegister<RVVectorRegister>(name, vector_byte_width), true);
+}
+
 }  // namespace riscv
 }  // namespace sim
 }  // namespace mpact
