diff --git a/lib/plugins/authad/action.php b/lib/plugins/authad/action.php
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..97be9897e676303a238097aa879c33118714c3ff 100644
--- a/lib/plugins/authad/action.php
+++ b/lib/plugins/authad/action.php
@@ -0,0 +1,91 @@
+<?php
+/**
+ * DokuWiki Plugin addomain (Action Component)
+ *
+ * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
+ * @author  Andreas Gohr <gohr@cosmocode.de>
+ */
+
+// must be run within Dokuwiki
+if(!defined('DOKU_INC')) die();
+
+/**
+ * Class action_plugin_addomain
+ */
+class action_plugin_authad extends DokuWiki_Action_Plugin {
+
+    /**
+     * Registers a callback function for a given event
+     */
+    public function register(Doku_Event_Handler &$controller) {
+
+        $controller->register_hook('AUTH_LOGIN_CHECK', 'BEFORE', $this, 'handle_auth_login_check');
+        $controller->register_hook('HTML_LOGINFORM_OUTPUT', 'BEFORE', $this, 'handle_html_loginform_output');
+
+    }
+
+    /**
+     * Adds the selected domain as user postfix when attempting a login
+     *
+     * @param Doku_Event $event
+     * @param array      $param
+     */
+    public function handle_auth_login_check(Doku_Event &$event, $param) {
+        global $INPUT;
+
+        /** @var auth_plugin_authad $auth */
+        global $auth;
+        if(!is_a($auth, 'auth_plugin_authad')) return; // AD not even used
+
+        if($INPUT->str('dom')) {
+            $usr = $auth->cleanUser($event->data['user']);
+            $dom = $auth->_userDomain($usr);
+            if(!$dom) {
+                $usr = "$usr@".$INPUT->str('dom');
+            }
+            $INPUT->post->set('u', $usr);
+            $event->data['user'] = $usr;
+        }
+    }
+
+    /**
+     * Shows a domain selection in the login form when more than one domain is configured
+     *
+     * @param Doku_Event $event
+     * @param array      $param
+     */
+    public function handle_html_loginform_output(Doku_Event &$event, $param) {
+        global $INPUT;
+        /** @var auth_plugin_authad $auth */
+        global $auth;
+        if(!is_a($auth, 'auth_plugin_authad')) return; // AD not even used
+        $domains = $auth->_getConfiguredDomains();
+        if(count($domains) <= 1) return; // no choice at all
+
+        /** @var Doku_Form $form */
+        $form =& $event->data;
+
+        // any default?
+        $dom = '';
+        if($INPUT->has('u')) {
+            $usr = $auth->cleanUser($INPUT->str('u'));
+            $dom = $auth->_userDomain($usr);
+
+            // update user field value
+            if($dom) {
+                $usr          = $auth->_userName($usr);
+                $pos          = $form->findElementByAttribute('name', 'u');
+                $ele          =& $form->getElementAt($pos);
+                $ele['value'] = $usr;
+            }
+        }
+
+        // add select box
+        $element = form_makeListboxField('dom', $domains, $dom, $this->getLang('domain'), '', 'block');
+        $pos     = $form->findElementByAttribute('name', 'p');
+        $form->insertElement($pos + 1, $element);
+    }
+
+}
+
+// vim:ts=4:sw=4:et:
\ No newline at end of file
diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php
index a0fec7b52b890d494d8927aa58be0b3f01d84df0..0860e5756af7a39a588027e79979afa3dcbb63ff 100644
--- a/lib/plugins/authad/auth.php
+++ b/lib/plugins/authad/auth.php
@@ -511,6 +511,31 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
         return $opts;
     }
 
+    /**
+     * Returns a list of configured domains
+     *
+     * The default domain has an empty string as key
+     *
+     * @return array associative array(key => domain)
+     */
+    public function _getConfiguredDomains() {
+        $domains = array();
+        if(empty($this->conf['account_suffix'])) return $domains; // not configured yet
+
+        // add default domain, using the name from account suffix
+        $domains[''] = ltrim($this->conf['account_suffix'], '@');
+
+        // find additional domains
+        foreach($this->conf as $key => $val) {
+            if(is_array($val) && isset($val['account_suffix'])) {
+                $domains[$key] = ltrim($val['account_suffix'], '@');
+            }
+        }
+        ksort($domains);
+
+        return $domains;
+    }
+
     /**
      * Check provided user and userinfo for matching patterns
      *
diff --git a/lib/plugins/authad/lang/de/lang.php b/lib/plugins/authad/lang/de/lang.php
new file mode 100644
index 0000000000000000000000000000000000000000..3f275750c7526fb582d776e4b4f4f1e143481857
--- /dev/null
+++ b/lib/plugins/authad/lang/de/lang.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * German language file for addomain plugin
+ *
+ * @author Andreas Gohr <gohr@cosmocode.de>
+ */
+
+$lang['domain'] = 'Anmelde-Domäne';
+
+//Setup VIM: ex: et ts=4 :
diff --git a/lib/plugins/authad/lang/en/lang.php b/lib/plugins/authad/lang/en/lang.php
new file mode 100644
index 0000000000000000000000000000000000000000..e2967d662d254081f5f9d2c081b8a04e1d6cd730
--- /dev/null
+++ b/lib/plugins/authad/lang/en/lang.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * English language file for addomain plugin
+ *
+ * @author Andreas Gohr <gohr@cosmocode.de>
+ */
+
+$lang['domain'] = 'Logon Domain';
+
+//Setup VIM: ex: et ts=4 :
diff --git a/lib/plugins/authad/lang/ko/lang.php b/lib/plugins/authad/lang/ko/lang.php
new file mode 100644
index 0000000000000000000000000000000000000000..1aa436708df72cdd246bd195ebde60edf02d0946
--- /dev/null
+++ b/lib/plugins/authad/lang/ko/lang.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Korean language file for addomain plugin
+ *
+ * @author Myeongjin <aranet100@gmail.com>
+ */
+
+$lang['domain'] = '로그온 도메인';
+
+//Setup VIM: ex: et ts=4 :
diff --git a/lib/plugins/authad/plugin.info.txt b/lib/plugins/authad/plugin.info.txt
index 3af1ddfbebe1f47894351fcd558c17b2f7390b34..8774fcf3cd8f57a6168ba356dc52abbb0c2dd78a 100644
--- a/lib/plugins/authad/plugin.info.txt
+++ b/lib/plugins/authad/plugin.info.txt
@@ -1,7 +1,7 @@
 base   authad
 author Andreas Gohr
 email  andi@splitbrain.org
-date   2013-04-25
+date   2014-02-14
 name   Active Directory Auth Plugin
 desc   Provides user authentication against a Microsoft Active Directory
 url    http://www.dokuwiki.org/plugin:authad