diff --git a/pyopencl/__init__.py b/pyopencl/__init__.py
index 19cb0ea29bbaef14d5d2becd8d3d5848623a77bd..d44604e739db93b9b0c7fa9692fc175f83a96d09 100644
--- a/pyopencl/__init__.py
+++ b/pyopencl/__init__.py
@@ -381,7 +381,7 @@ class Program(object):
         if arg2 is None:
             # 1-argument form: program
             self._prg = arg1
-            self._context = self._prg.context
+            self._context = self._prg.get_info(program_info.CONTEXT)
 
         elif arg3 is None:
             # 2-argument form: context, source