diff --git a/sys/arch/sgimips/sgimips/machdep.c b/sys/arch/sgimips/sgimips/machdep.c
index 0a4bbd329..9ba1914ae 100644
--- a/sys/arch/sgimips/sgimips/machdep.c
+++ b/sys/arch/sgimips/sgimips/machdep.c
@@ -286,6 +286,13 @@ mach_init(int argc, int32_t argv32[], uintptr_t magic, int32_t bip32)
cpu_setmodel("%s", arcbios_system_identifier);
+ /*
+ * Copy exception-dispatch code down to exception vector.
+ * Initialize locore-function vector.
+ * Clear out the I and D caches.
+ */
+ mips_vector_init(NULL, false);
+
uvm_md_init();
/* set up bootinfo structures */
@@ -661,13 +668,6 @@ mach_init(int argc, int32_t argv32[], uintptr_t magic, int32_t bip32)
*/
arcbios_tree_walk(sgimips_count_cpus, NULL);
- /*
- * Copy exception-dispatch code down to exception vector.
- * Initialize locore-function vector.
- * Clear out the I and D caches.
- */
- mips_vector_init(NULL, false);
-
/*
* Initialize error message buffer (at end of core).
*/