diff --git a/scp/js/scp.js b/scp/js/scp.js
index 33839e80c39174391d9d10e9e2c2029a44af9221..003c419131900a4929ca16803f8469823e99602a 100644
--- a/scp/js/scp.js
+++ b/scp/js/scp.js
@@ -431,9 +431,12 @@ $(document).ready(function(){
         $('#advanced-search').show();
     });
 
-    $.dialog = function (url, code, cb, options) {
+    $.dialog = function (url, codes, cb, options) {
         options = options||{};
 
+        if (codes && !$.isArray(codes))
+            codes = [codes];
+
         $('.dialog#popup .body').load(url, function () {
             $('#overlay').show();
             $('.dialog#popup').show({
@@ -451,11 +454,12 @@ $(document).ready(function(){
                     data: $form.serialize(),
                     cache: false,
                     success: function(resp, status, xhr) {
-                        if (xhr && xhr.status == code) {
+                        if (xhr && xhr.status && codes
+                            && $.inArray(xhr.status, codes) != -1) {
                             $('div.body', $dialog).empty();
                             $dialog.hide();
                             $('#overlay').hide();
-                            if(cb) cb(xhr.responseText);
+                            if(cb) cb(xhr);
                         } else {
                             $('div.body', $dialog).html(resp);
                             $('#msg_notice, #msg_error', $dialog).delay(5000).slideUp();
@@ -471,9 +475,9 @@ $(document).ready(function(){
      };
 
     $.userLookup = function (url, cb) {
-        $.dialog(url, 201, function (resp) {
-            var user = $.parseJSON(resp);
-            if(cb) cb(user);
+        $.dialog(url, 201, function (xhr) {
+            var user = $.parseJSON(xhr.responseText);
+            if (cb) cb(user);
         }, {
             onshow: function() { $('#user-search').focus(); }
         });
@@ -569,9 +573,9 @@ $(document).ready(function(){
     $(document).on('click', 'a.collaborator, a.collaborators', function(e) {
         e.preventDefault();
         var url = 'ajax.php/'+$(this).attr('href').substr(1);
-        $.dialog(url, 201, function (resp) {
+        $.dialog(url, 201, function (xhr) {
            $('input#emailcollab').show();
-           $('#recipients').text(resp);
+           $('#recipients').text(xhr.responseText);
            $('.tip_box').remove();
         }, {
             onshow: function() { $('#user-search').focus(); }