diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py
index c2cb09ab46ac15c1173e4f96ce0a2af197c3b1c6..db8bee88d0d18ac07ebbd1f898b09bc8b522962f 100644
--- a/var/spack/repos/builtin/packages/tcl/package.py
+++ b/var/spack/repos/builtin/packages/tcl/package.py
@@ -9,12 +9,14 @@ class Tcl(Package):
        that is truly cross platform, easily deployed and highly
        extensible."""
     homepage = "http://www.tcl.tk"
-    urlpat = 'http://prdownloads.sourceforge.net/tcl/tcl%s-src.tar.gz'
 
-    version('8.6.5', '0e6426a4ca9401825fbc6ecf3d89a326', url=urlpat%'8.6.5')
-    version('8.6.4', 'd7cbb91f1ded1919370a30edd1534304', url=urlpat%'8.6.4')
-    version('8.6.3', 'db382feca91754b7f93da16dc4cdad1f', url=urlpat%'8.6.3')
-    version('8.5.19', '0e6426a4ca9401825fbc6ecf3d89a326', url=urlpat%'8.6.5')
+    def url_for_version(self, version):
+        return 'http://prdownloads.sourceforge.net/tcl/tcl%s-src.tar.gz' % version
+
+    version('8.6.5', '0e6426a4ca9401825fbc6ecf3d89a326')
+    version('8.6.4', 'd7cbb91f1ded1919370a30edd1534304')
+    version('8.6.3', 'db382feca91754b7f93da16dc4cdad1f')
+    version('8.5.19', '0e6426a4ca9401825fbc6ecf3d89a326')
 
     depends_on('zlib')
 
diff --git a/var/spack/repos/builtin/packages/tk/package.py b/var/spack/repos/builtin/packages/tk/package.py
index 6da0a423a9d924bedbb4a371153f0d6ed34b194d..839d217f344affeaead5d1896daa5b0baa767185 100644
--- a/var/spack/repos/builtin/packages/tk/package.py
+++ b/var/spack/repos/builtin/packages/tk/package.py
@@ -8,7 +8,9 @@ class Tk(Package):
        applications that run unchanged across Windows, Mac OS X, Linux
        and more."""
     homepage = "http://www.tcl.tk"
-    url      = "http://prdownloads.sourceforge.net/tcl/tk8.6.3-src.tar.gz"
+
+    def url_for_version(self, version):
+        return "http://prdownloads.sourceforge.net/tcl/tk%s-src.tar.gz" % version
 
     version('8.6.3', '85ca4dbf4dcc19777fd456f6ee5d0221')