diff --git a/numpy/distutils/fcompiler/gnu.py b/numpy/distutils/fcompiler/gnu.py
index 0ebbe79dc..56e9be546 100644
--- a/numpy/distutils/fcompiler/gnu.py
+++ b/numpy/distutils/fcompiler/gnu.py
@@ -306,20 +306,9 @@ class Gnu95FCompiler(GnuFCompiler):
     g2c = 'gfortran'
 
     def _universal_flags(self, cmd):
-        """Return a list of -arch flags for every supported architecture."""
         if not sys.platform == 'darwin':
             return []
-        arch_flags = []
-        # get arches the C compiler gets.
-        c_archs = self._c_arch_flags()
-        if "i386" in c_archs:
-            c_archs[c_archs.index("i386")] = "i686"
-        # check the arches the Fortran compiler supports, and compare with
-        # arch flags from C compiler
-        for arch in ["ppc", "i686", "x86_64", "ppc64"]:
-            if _can_target(cmd, arch) and arch in c_archs:
-                arch_flags.extend(["-arch", arch])
-        return arch_flags
+        return ['-m' + platform.architecture()[0][:2]]
 
     def get_flags(self):
         flags = GnuFCompiler.get_flags(self)
