diff --git a/lib/spack/spack/platforms/cray_xc.py b/lib/spack/spack/platforms/cray_xc.py
index 8dc575bb71653d1bc184b62661e447c5726fdba5..0f6599ab30d5774a304d819299bd382e77f963a8 100644
--- a/lib/spack/spack/platforms/cray_xc.py
+++ b/lib/spack/spack/platforms/cray_xc.py
@@ -10,9 +10,8 @@ class CrayXc(Platform):
     back_end    = 'ivybridge'
     default     = 'ivybridge'
 
-    front_os    = "SuSE11"
     back_os     = "CNL10"
-    default_os  = "CNL10" 
+    default_os  = "CNL10"
 
     def __init__(self):
         ''' Since cori doesn't have ivybridge as a front end it's better
@@ -33,12 +32,15 @@ def __init__(self):
         # Could switch to use modules and fe targets for front end
         # Currently using compilers by path for front end.
         self.add_target('sandybridge', Target('sandybridge'))
-        self.add_target('ivybridge', 
+        self.add_target('ivybridge',
                         Target('ivybridge', 'craype-ivybridge'))
-        self.add_target('haswell', 
-                        Target('haswell','craype-haswell'))         
+        self.add_target('haswell',
+                        Target('haswell','craype-haswell'))
 
-        self.add_operating_system('SuSE11', LinuxDistro())
+        # Front end of the cray platform is a linux distro.
+        linux_dist = LinuxDistro()
+        self.front_os = str(linux_dist)
+        self.add_operating_system(str(linux_dist), linux_dist)
         self.add_operating_system('CNL10', Cnl())
 
     @classmethod
@@ -50,4 +52,3 @@ def detect(self):
             if '-D__CRAYXC' in text:
                 return True
         return False
-