diff --git a/README.rst b/README.rst
index 1def30704869a2029054b97ee61d5c53f0ef3bf1..2f457c62a17cbac443fb4f15452529a31f4fde57 100644
--- a/README.rst
+++ b/README.rst
@@ -1,12 +1,3 @@
-WARNING: Pending a relicense, the file
-
-* `./pyopencl/cl/pyopencl-hankel-complex.cl`
-* `./pyopencl/cl/pyopencl-bessel-j-complex.cl`
-
-on this branch, unlike the rest of the software, are licensed under GPL.
-
-------------------------
-
 PyOpenCL lets you access GPUs and other massively parallel compute
 devices from Python. It tries to offer computing goodness in the
 spirit of its sister project `PyCUDA <http://mathema.tician.de/software/pycuda>`_:
diff --git a/pyopencl/cl/pyopencl-bessel-j-complex.cl b/pyopencl/cl/pyopencl-bessel-j-complex.cl
index 430c800010c13cb5eaa99a7f811ce6eb52c91a8f..404758718a6a2ccd4f5279bc73ca4f62764d88b0 100644
--- a/pyopencl/cl/pyopencl-bessel-j-complex.cl
+++ b/pyopencl/cl/pyopencl-bessel-j-complex.cl
@@ -6,22 +6,30 @@ Copyright (C) Vladimir Rokhlin
 Copyright (C) 2010-2012 Leslie Greengard and Zydrunas Gimbutas
 Copyright (C) 2015 Shidong Jiang, Andreas Kloeckner
 
-/!\ WARNING: GPL-ONLY SOFTWARE
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.  This program is distributed in
-the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE.  See the GNU General Public License for more
-details. You should have received a copy of the GNU General Public
-License along with this program;
-if not, see <http://www.gnu.org/licenses/>.
-
 Manually translated from
 https://github.com/zgimbutas/fmmlib2d/blob/master/src/cdjseval2d.f
 
+Originally licensed under GPL, permission to license under MIT granted via email
+by Vladimir Rokhlin on May 25, 2015 and by Zydrunas Gimbutas on May 17, 2015.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
 */
 
 void bessel_j_complex(int v, cdouble_t z, cdouble_t *j_v, cdouble_t *j_vp1)
diff --git a/pyopencl/cl/pyopencl-hankel-complex.cl b/pyopencl/cl/pyopencl-hankel-complex.cl
index 8f744f82567aa501704c259899e2b131fa165c38..d5a0c53d3c04fb6ceacb8ac5fca5205ea7c3e59b 100644
--- a/pyopencl/cl/pyopencl-hankel-complex.cl
+++ b/pyopencl/cl/pyopencl-hankel-complex.cl
@@ -6,23 +6,31 @@ Copyright (C) Vladimir Rokhlin
 Copyright (C) 2010-2012 Leslie Greengard and Zydrunas Gimbutas
 Copyright (C) 2015 Andreas Kloeckner
 
-/!\ WARNING: GPL-ONLY SOFTWARE
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.  This program is distributed in
-the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE.  See the GNU General Public License for more
-details. You should have received a copy of the GNU General Public
-License along with this program;
-if not, see <http://www.gnu.org/licenses/>.
-
 Auto-translated from
 https://github.com/zgimbutas/fmmlib2d/blob/master/src/hank103.f
 using
 https://github.com/pyopencl/pyopencl/tree/master/contrib/fortran-to-opencl
+
+Originally licensed under GPL, permission to license under MIT granted via email
+by Vladimir Rokhlin on May 25, 2015 and by Zydrunas Gimbutas on May 17, 2015.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
 */
 
 void hank103(cdouble_t z, cdouble_t *h0, cdouble_t *h1, int ifexpon);
diff --git a/pyopencl/elementwise.py b/pyopencl/elementwise.py
index 80ef4f4f6ba1030218f49e8e564884007249c146..285c3e93fab1177363349915f43d3a2bb58a8578 100644
--- a/pyopencl/elementwise.py
+++ b/pyopencl/elementwise.py
@@ -965,10 +965,6 @@ def get_hankel_01_kernel(context, out_dtype, x_dtype):
     if x_dtype != out_dtype:
         raise NotImplementedError("different input/output types")
 
-    from warnings import warn
-    warn("Your program is now GPL-licensed through use of the complex "
-            "Hankel function")
-
     return get_elwise_kernel(context, [
         VectorArg(out_dtype, "h0", with_offset=True),
         VectorArg(out_dtype, "h1", with_offset=True),