diff --git a/include/ajax.orgs.php b/include/ajax.orgs.php
index 2e4b5009af19505a8a76a270ad35761ff74e74e2..eeaa23c7eb4a9a1405c624d731dac599ad49a946 100644
--- a/include/ajax.orgs.php
+++ b/include/ajax.orgs.php
@@ -101,7 +101,7 @@ class OrgsAjaxAPI extends AjaxController {
         include(STAFFINC_DIR . 'templates/org-delete.tmpl.php');
     }
 
-    function addUser($id, $userId=0) {
+    function addUser($id, $userId=0, $remote=false) {
         global $thisstaff;
 
         if (!$thisstaff)
@@ -136,6 +136,13 @@ class OrgsAjaxAPI extends AjaxController {
             elseif (!$info['error'])
                 $info['error'] = 'Unable to add user to the organization - try again';
 
+        } elseif ($remote && $userId) {
+            list($bk, $userId) = explode(':', $userId, 2);
+            if (!($backend = AuthenticationBackend::getSearchDirectoryBackend($bk))
+                    || !($user_info = $backend->lookup($userId)))
+                Http::response(404, 'User not found');
+
+            $form = UserForm::getUserForm()->getForm($user_info);
         } elseif ($userId) //Selected local user
             $user = User::lookup($userId);
 
diff --git a/scp/ajax.php b/scp/ajax.php
index 8385b50c718d5e246f054df1cf6119edaa4c507b..27fb8022a9d143a2856bc3ad95b686dfef8ffb06 100644
--- a/scp/ajax.php
+++ b/scp/ajax.php
@@ -104,6 +104,7 @@ $dispatcher = patterns('',
         url_get('^/select$', 'selectOrg'),
         url_get('^/select/(?P<id>\d+)$', 'selectOrg'),
         url_get('^/(?P<id>\d+)/add-user(?:/(?P<userid>\d+))?$', 'addUser'),
+        url_get('^/(?P<id>\d+)/add-user(?:/auth:(?P<userid>.+))?$', 'addUser', array(true)),
         url_post('^/(?P<id>\d+)/add-user$', 'addUser'),
         url_get('^/(?P<id>\d+)/delete$', 'delete'),
         url_delete('^/(?P<id>\d+)/delete$', 'delete')