diff --git a/loopy/target/c/c_execution.py b/loopy/target/c/c_execution.py
index 4630bd7480236e7cf25270a285a183e34afd3718..3b7329d3617d4d9fe5394f8b594bd4c3ec92e5bb 100644
--- a/loopy/target/c/c_execution.py
+++ b/loopy/target/c/c_execution.py
@@ -212,8 +212,8 @@ class CCompiler(object):
                 'library_dirs': library_dirs,
                 'defines': defines}
         # filter empty and those equal to toolchain defaults
-        diff = {k: v for k, v in six.iteritems(diff) if v and
-                getattr(self.toolchain, k) != v}
+        diff = dict((k, v) for k, v in six.iteritems(diff) if v and
+                getattr(self.toolchain, k) != v)
         self.toolchain = self.toolchain.copy(**diff)
         self.tempdir = tempfile.mkdtemp(prefix="tmp_loopy")