diff --git a/include/class.organization.php b/include/class.organization.php
index a12300391b2cd86f8fc7c670bcc3f6313e624ae7..ad9deec88962651e0858e98a47b658d3e46b53ee 100644
--- a/include/class.organization.php
+++ b/include/class.organization.php
@@ -129,6 +129,15 @@ class Organization extends OrganizationModel {
         return $base;
     }
 
+    function isMappedToDomain($domain) {
+        foreach (explode(',', $this->domain) as $d) {
+            if (strcasecmp($domain, trim($d)) === 0) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     function to_json() {
 
         $info = array(
@@ -164,8 +173,8 @@ class Organization extends OrganizationModel {
 
         if ($vars['domain']) {
             foreach (explode(',', $vars['domain']) as $d) {
-                if (!Validator::is_email('test' . trim($d))) {
-                    $errors['domain'] = 'Enter a valid email domain, like @domain.com';
+                if (!Validator::is_email('t@' . trim($d))) {
+                    $errors['domain'] = 'Enter a valid email domain, like domain.com';
                 }
             }
         }
diff --git a/include/class.user.php b/include/class.user.php
index 9eb4fd3a6afad9cf2cb5508564e2037dd0ac3c93..0f105be3fa0d2aad75343340c3fed80a52f4ae40 100644
--- a/include/class.user.php
+++ b/include/class.user.php
@@ -154,6 +154,16 @@ class User extends UserModel {
                 // of the detached emails is fixed.
                 'default_email' => UserEmail::ensure($vars['email'])
             ));
+            // Is there an organization registered for this domain
+            list($mailbox, $domain) = explode('@', $vars['email'], 2);
+            foreach (Organization::objects()
+                    ->filter(array('domain__contains'=>$domain)) as $org) {
+                if ($org->isMappedToDomain($domain)) {
+                    $user->setOrganization($org);
+                    break;
+                }
+            }
+
             $user->save(true);
             $user->emails->add($user->default_email);
             // Attach initial custom fields