diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 67294fb9a1e2bf7af29df0432658813f42292ec2..3dc6af42bada4adc8448d14ae5c814adfadddadc 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -133,11 +133,15 @@ def url_for_version(self, version):
 
     def determine_toolset(self, spec):
         if spec.satisfies("platform=darwin"):
-            return 'darwin'
+            if 'icpc' in self.compiler.cxx_names:
+                return 'intel-darwin'
+            else:
+                return 'darwin'
 
         toolsets = {'g++': 'gcc',
-                    'icpc': 'intel',
-                    'clang++': 'clang'}
+                    'icpc': 'intel-linux',
+                    'clang++': 'clang',
+                    'pgi++': 'pgi'}
 
         for cc, toolset in toolsets.iteritems():
             if cc in self.compiler.cxx_names: