diff --git a/Makefile.am b/Makefile.am
index 38193f2..3c89725 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -53,6 +53,7 @@
 	stream.c	\
 	syscall.c	\
 	sysinfo.c	\
+	sysmips.c	\
 	system.c	\
 	term.c		\
 	time.c		\
diff --git a/sysmips.c b/sysmips.c
new file mode 100644
index 0000000..521b081
--- /dev/null
+++ b/sysmips.c
@@ -0,0 +1,42 @@
+#include "defs.h"
+
+#ifdef MIPS
+
+#ifdef HAVE_LINUX_UTSNAME_H
+# include <linux/utsname.h>
+#endif
+#ifdef HAVE_ASM_SYSMIPS_H
+# include <asm/sysmips.h>
+#endif
+
+#ifndef __NEW_UTS_LEN
+# define __NEW_UTS_LEN 64
+#endif
+
+#include "xlat/sysmips_operations.h"
+
+int sys_sysmips(struct tcb *tcp)
+{
+	if (entering(tcp)) {
+		printxval(sysmips_operations, tcp->u_arg[0], "???");
+		if (!verbose(tcp)) {
+			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		} else if (tcp->u_arg[0] == SETNAME) {
+			char nodename[__NEW_UTS_LEN + 1];
+			if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0)
+				tprintf(", %#lx", tcp->u_arg[1]);
+			else
+				tprintf(", \"%.*s\"", (int)(__NEW_UTS_LEN + 1), nodename);
+		} else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) {
+			tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
+		} else if (tcp->u_arg[0] == MIPS_FIXADE) {
+			tprintf(", 0x%lx", tcp->u_arg[1]);
+		} else {
+			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
+		}
+	}
+
+	return 0;
+}
+
+#endif /* MIPS */
diff --git a/system.c b/system.c
index 2bd1dac..e73c76f 100644
--- a/system.c
+++ b/system.c
@@ -72,12 +72,6 @@
 #ifdef HAVE_ASM_CACHECTL_H
 # include <asm/cachectl.h>
 #endif
-#ifdef HAVE_LINUX_USTNAME_H
-# include <linux/utsname.h>
-#endif
-#ifdef HAVE_ASM_SYSMIPS_H
-# include <asm/sysmips.h>
-#endif
 #include <linux/sysctl.h>
 #include <linux/personality.h>
 
@@ -576,37 +570,3 @@
 	free(name);
 	return 0;
 }
-
-#ifdef MIPS
-
-#ifndef __NEW_UTS_LEN
-#define __NEW_UTS_LEN 64
-#endif
-
-#include "xlat/sysmips_operations.h"
-
-int sys_sysmips(struct tcb *tcp)
-{
-	if (entering(tcp)) {
-		printxval(sysmips_operations, tcp->u_arg[0], "???");
-		if (!verbose(tcp)) {
-			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
-		} else if (tcp->u_arg[0] == SETNAME) {
-			char nodename[__NEW_UTS_LEN + 1];
-			if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0)
-				tprintf(", %#lx", tcp->u_arg[1]);
-			else
-				tprintf(", \"%.*s\"", (int)(__NEW_UTS_LEN + 1), nodename);
-		} else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) {
-			tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
-		} else if (tcp->u_arg[0] == MIPS_FIXADE) {
-			tprintf(", 0x%lx", tcp->u_arg[1]);
-		} else {
-			tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]);
-		}
-	}
-
-	return 0;
-}
-
-#endif /* MIPS */
