--- a/applications/admin/controllers/default.py
+++ b/applications/admin/controllers/default.py
@@ -32,7 +32,7 @@
 
 
 if DEMO_MODE and request.function in ['change_password', 'pack',
-'pack_custom','pack_plugin', 'upgrade_web2py', 'uninstall',
+'pack_custom','pack_plugin', 'uninstall',
 'cleanup', 'compile_app', 'remove_compiled_app', 'delete',
 'delete_plugin', 'create_file', 'upload_file', 'update_languages',
 'reload_routes', 'git_push', 'git_pull', 'install_plugin']:
@@ -44,7 +44,7 @@
     session.flash = T('disabled in GAE mode')
     redirect(URL('site'))
 
-if not is_manager() and request.function in ['change_password', 'upgrade_web2py']:
+if not is_manager() and request.function in ['change_password']:
     session.flash = T('disabled in multi user mode')
     redirect(URL('site'))
 
@@ -124,10 +124,7 @@
             session.authorized = True
             login_record(True)
 
-            if CHECK_VERSION:
-                session.check_version = True
-            else:
-                session.check_version = False
+            session.check_version = False
 
             session.last_time = t0
             if isinstance(send, list):  # ## why does this happen?
@@ -147,25 +144,6 @@
     return dict(send=send)
 
 
-def check_version():
-    """ Checks if web2py is up to date """
-
-    session.forget()
-    session._unlock(response)
-
-    new_version, version = check_new_version(request.env.web2py_version,
-                                             WEB2PY_VERSION_URL)
-
-    if new_version == -1:
-        return A(T('Unable to check for upgrades'), _href=WEB2PY_URL)
-    elif new_version != True:
-        return A(T('web2py is up to date'), _href=WEB2PY_URL)
-    elif platform.system().lower() in ('windows', 'win32', 'win64') and os.path.exists("web2py.exe"):
-        return SPAN('You should upgrade to %s' % version.split('(')[0])
-    else:
-        return sp_button(URL('upgrade_web2py'), T('upgrade now to %s') % version.split('(')[0])
-
-
 def logout():
     """ Logout handler """
     session.authorized = None
@@ -426,19 +404,6 @@
     return locals()
 
 
-def upgrade_web2py():
-    dialog = FORM.confirm(T('Upgrade'),
-                          {T('Cancel'): URL('site')})
-    if dialog.accepted:
-        (success, error) = upgrade(request)
-        if success:
-            session.flash = T('web2py upgraded; please restart it')
-        else:
-            session.flash = T('unable to upgrade because "%s"', error)
-        redirect(URL('site'))
-    return dict(dialog=dialog)
-
-
 def uninstall():
     app = get_app()
 
--- a/applications/admin/views/default/site.html
+++ b/applications/admin/views/default/site.html
@@ -81,15 +81,6 @@
       {{running_on = T("Running on %s", request.env.server_software or 'Unknown')}}
       ({{="%s, Python %s" % (running_on, myplatform)}})
     </p>
-    <p id="check_version" class="row-buttons">
-      {{if session.check_version:}}
-        {{=T('Checking for upgrades...')}}
-        <script>ajax('{{=URL('check_version')}}',[],'check_version');</script>
-        {{session.check_version=False}}
-      {{else:}}
-        {{=button("javascript:ajax('"+URL('check_version')+"',[],'check_version')", T('Check for upgrades'))}}
-      {{pass}}
-    </p>
     {{if session.is_mobile=='auto':}}
       <p>{{=A(T('Try the mobile interface'),_href=URL('plugin_jqmobile','about'))}}</p>
     {{pass}}
