--- a/python/dolfin/jit/jit.py
+++ b/python/dolfin/jit/jit.py
@@ -3,6 +3,7 @@
 import pkgconfig
 import numpy
 import hashlib
+import sysconfig
 import dijitso
 import dolfin.cpp as cpp
 import dolfin.la as la
@@ -160,7 +161,10 @@
         if hasattr(v, '_cpp_object') and isinstance(v._cpp_object, cpp.function.GenericFunction):
             property_str += '*'
 
-    hash_str = str(statements) + str(property_str) + cpp.__version__
+    hash_str = (
+        str(statements) + str(property_str) + cpp.__version__
+        + sysconfig.get_config_var("CFLAGS") + sysconfig.get_config_var("SOABI")
+    )
     module_hash = hashlib.md5(hash_str.encode('utf-8')).hexdigest()
     module_name = "dolfin_" + name + "_" + module_hash
 
--- a/python/dolfin/jit/pybind11jit.py
+++ b/python/dolfin/jit/pybind11jit.py
@@ -4,6 +4,7 @@
 import dijitso
 import re
 import sys
+import sysconfig
 
 from dolfin.cpp.log import log, LogLevel
 from . import get_pybind_include
@@ -88,7 +89,10 @@
     #     params['build']['libs'] += ['petsc']
     #     params['build']['lib_dirs'] += [os.environ["PETSC_DIR"] + "/lib"]
 
-    hash_str = cpp_code + cpp.__version__
+    hash_str = (
+        cpp_code + cpp.__version__
+        + sysconfig.get_config_var("CFLAGS") + sysconfig.get_config_var("SOABI")
+    )
     module_hash = hashlib.md5(hash_str.encode('utf-8')).hexdigest()
     module_name = "dolfin_cpp_module_" + module_hash
 
