diff --git a/rhodecode/apps/my_account/views.py b/rhodecode/apps/my_account/views.py
--- a/rhodecode/apps/my_account/views.py
+++ b/rhodecode/apps/my_account/views.py
@@ -34,13 +34,18 @@ log = logging.getLogger(__name__)
 
 
 class MyAccountView(BaseAppView):
+    ALLOW_SCOPED_TOKENS = False
+    """
+    This view has alternative version inside EE, if modified please take a look
+    in there as well.
+    """
 
     def load_default_context(self):
         c = self._get_local_tmpl_context()
 
         c.auth_user = self.request.user
         c.user = c.auth_user.get_instance()
-
+        c.allow_scoped_tokens = self.ALLOW_SCOPED_TOKENS
         self._register_global_c(c)
         return c
 
@@ -55,8 +60,6 @@ class MyAccountView(BaseAppView):
         c = self.load_default_context()
         c.active = 'auth_tokens'
 
-        show_expired = True
-
         c.lifetime_values = [
             (str(-1), _('forever')),
             (str(5), _('5 minutes')),
@@ -70,9 +73,13 @@ class MyAccountView(BaseAppView):
             for x in AuthTokenModel.cls.ROLES]
         c.role_options = [(c.role_values, _("Role"))]
         c.user_auth_tokens = AuthTokenModel().get_auth_tokens(
-            c.user.user_id, show_expired=show_expired)
+            c.user.user_id, show_expired=True)
         return self._get_template_context(c)
 
+    def maybe_attach_token_scope(self, token):
+        # implemented in EE edition
+        pass
+
     @LoginRequired()
     @NotAnonymous()
     @CSRFRequired()
@@ -86,10 +93,12 @@ class MyAccountView(BaseAppView):
         description = self.request.POST.get('description')
         role = self.request.POST.get('role')
 
-        AuthTokenModel().create(c.user.user_id, description, lifetime, role)
+        token = AuthTokenModel().create(
+            c.user.user_id, description, lifetime, role)
+        self.maybe_attach_token_scope(token)
         Session().commit()
+
         h.flash(_("Auth token successfully created"), category='success')
-
         return HTTPFound(h.route_path('my_account_auth_tokens'))
 
     @LoginRequired()
diff --git a/rhodecode/templates/admin/my_account/my_account_auth_tokens.mako b/rhodecode/templates/admin/my_account/my_account_auth_tokens.mako
--- a/rhodecode/templates/admin/my_account/my_account_auth_tokens.mako
+++ b/rhodecode/templates/admin/my_account/my_account_auth_tokens.mako
@@ -6,7 +6,6 @@
       <p>
          ${_('Each token can have a role. Token with a role can be used only in given context, '
          'e.g. VCS tokens can be used together with the authtoken auth plugin for git/hg/svn operations only.')}
-          ${_('Additionally scope for VCS type token can narrow the use to chosen repository.')}
       </p>
       <table class="rctable auth_tokens">
         %if c.user_auth_tokens:
@@ -70,7 +69,16 @@
                             ${h.text('description', placeholder=_('Description'))}
                             ${h.select('lifetime', '', c.lifetime_options)}
                             ${h.select('role', '', c.role_options)}
+
+                            % if c.allow_scoped_tokens:
+                                ${h.hidden('scope_repo_id')}
+                            % else:
+                                ${h.select('scope_repo_id_disabled', '', ['Scopes available in EE edition'], disabled='disabled')}
+                            % endif
                         </div>
+                         <p class="help-block">
+                             ${_('Repository scope works only with tokens with VCS type.')}
+                         </p>
                      </div>
                     <div class="buttons">
                       ${h.submit('save',_('Add'),class_="btn")}
@@ -82,14 +90,69 @@
         </div>
     </div>
 </div>
-    <script>
-        $(document).ready(function(){
-            var select2Options = {
-                'containerCssClass': "drop-menu",
-                'dropdownCssClass': "drop-menu-dropdown",
-                'dropdownAutoWidth': true
-            };
-            $("#lifetime").select2(select2Options);
-            $("#role").select2(select2Options);
-        });
-    </script>
+<script>
+$(document).ready(function(){
+
+var select2Options = {
+    'containerCssClass': "drop-menu",
+    'dropdownCssClass': "drop-menu-dropdown",
+    'dropdownAutoWidth': true
+};
+$("#lifetime").select2(select2Options);
+$("#role").select2(select2Options);
+
+var repoFilter = function(data) {
+    var results = [];
+
+    if (!data.results[0]) {
+        return data
+    }
+
+    $.each(data.results[0].children, function() {
+        // replace name to ID for submision
+        this.id = this.obj.repo_id;
+        results.push(this);
+    });
+
+    data.results[0].children = results;
+    return data;
+};
+
+$("#scope_repo_id_disabled").select2(select2Options);
+
+$("#scope_repo_id").select2({
+    cachedDataSource: {},
+    minimumInputLength: 2,
+    placeholder: "${_('repository scope')}",
+    dropdownAutoWidth: true,
+    containerCssClass: "drop-menu",
+    dropdownCssClass: "drop-menu-dropdown",
+    formatResult: formatResult,
+    query: $.debounce(250, function(query){
+        self = this;
+        var cacheKey = query.term;
+        var cachedData = self.cachedDataSource[cacheKey];
+
+        if (cachedData) {
+            query.callback({results: cachedData.results});
+        } else {
+            $.ajax({
+                url: "${h.url('repo_list_data')}",
+                data: {'query': query.term},
+                dataType: 'json',
+                type: 'GET',
+                success: function(data) {
+                    data = repoFilter(data);
+                    self.cachedDataSource[cacheKey] = data;
+                    query.callback({results: data.results});
+                },
+                error: function(data, textStatus, errorThrown) {
+                    alert("Error while fetching entries.\nError code {0} ({1}).".format(data.status, data.statusText));
+                }
+            })
+        }
+    })
+});
+
+});
+</script>