diff --git a/loopy/version.py b/loopy/version.py
index da28a3f0ac02133edaf2fa7c9e9eff5828c5b1ff..62940e8a7576ffdaa5e85ba545cd95e602dfcbea 100644
--- a/loopy/version.py
+++ b/loopy/version.py
@@ -52,7 +52,16 @@ except ImportError:
     _islpy_version = "_UNKNOWN_"
 else:
     _islpy_version = islpy.version.VERSION_TEXT
-DATA_MODEL_VERSION = "%s-islpy%s-%s-v0" % (VERSION_TEXT, _islpy_version, _git_rev)
+
+try:
+    import cgen.version
+except ImportError:
+    _cgen_version = "_UNKNOWN_"
+else:
+    _cgen_version = cgen.version.VERSION_TEXT
+
+DATA_MODEL_VERSION = "%s-islpy%s-cgen%s-%s-v0" % (
+        VERSION_TEXT, _islpy_version, _cgen_version, _git_rev)
 
 
 FALLBACK_LANGUAGE_VERSION = (2017, 2, 1)