diff --git a/README.md b/README.md
index abdb9cd3dc25867f8b929b40b91d1f074b8cdda3..e840b401706f5dc69bc8486539d2d60ca9022e55 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # Guest ordering
 
+![Guest Order](bin/images/Readme.png)
+
 The Guest Order module extends the functionality of QUIQQER and ecoyn to allow anonymous ordering and guest ordering.
 
 Package name:
diff --git a/ajax/frontend/checkMail.php b/ajax/frontend/checkMail.php
index 0d6a2a8f54f22a4a5505da2b9e58fc446bcb0a0d..a3fb0a6df595a422a4ebde4bbace726254da3692 100644
--- a/ajax/frontend/checkMail.php
+++ b/ajax/frontend/checkMail.php
@@ -13,6 +13,14 @@
 QUI::$Ajax->registerFunction(
     'package_quiqqer_order-guestorder_ajax_frontend_checkMail',
     function ($email) {
+        if (
+            QUI::getPackage('quiqqer/order-guestorder')
+                ->getConfig()
+                ->get('guestorder', 'prevent_duplicate_guest_order_registration')
+        ) {
+            return -1;
+        }
+
         try {
             $User = QUI::getUsers()->getUserByName($email);
 
diff --git a/ajax/frontend/orderAsGuest.php b/ajax/frontend/orderAsGuest.php
index c233a8354cf5eb3e965a7e2a41d25431d3edba2f..9703b0e0a31942e57b75dd6a00ec55caaaaf48ba 100644
--- a/ajax/frontend/orderAsGuest.php
+++ b/ajax/frontend/orderAsGuest.php
@@ -9,6 +9,36 @@
 QUI::$Ajax->registerFunction(
     'package_quiqqer_order-guestorder_ajax_frontend_orderAsGuest',
     function ($email) {
+        $alwaysGuestAllowed = QUI::getPackage('quiqqer/order-guestorder')
+            ->getConfig()
+            ->get('guestorder', 'prevent_duplicate_guest_order_registration');
+
+        if ($alwaysGuestAllowed) {
+            // set guest session
+            QUI::getSession()->set(GuestOrder::EMAIL, $email);
+            GuestOrder::setGuestOrderFlag();
+            return;
+        }
+
+        try {
+            $User = QUI::getUsers()->getUserByName($email);
+
+            if ($User->isActive()) {
+                return;
+            }
+        } catch (\Exception) {
+        }
+
+        try {
+            $User = QUI::getUsers()->getUserByMail($email);
+
+            if ($User->isActive()) {
+                return;
+            }
+        } catch (\Exception) {
+        }
+
+        // set guest session
         QUI::getSession()->set(GuestOrder::EMAIL, $email);
         GuestOrder::setGuestOrderFlag();
     },
diff --git a/bin/images/Gitlab.png b/bin/images/Gitlab.png
new file mode 100644
index 0000000000000000000000000000000000000000..56b7a99084f3b80e9116204389212dfb8564fb0d
Binary files /dev/null and b/bin/images/Gitlab.png differ
diff --git a/bin/images/Logo.png b/bin/images/Logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..a902e6e5d3c7766f2c6f62fc2f0f264314c5074d
Binary files /dev/null and b/bin/images/Logo.png differ
diff --git a/bin/images/Readme.png b/bin/images/Readme.png
new file mode 100644
index 0000000000000000000000000000000000000000..a15d10377a849fc53d4c7e851ef69535e29e9309
Binary files /dev/null and b/bin/images/Readme.png differ
diff --git a/locale.xml b/locale.xml
index 700aa7bae06c42eb6951dd901f437a35f0143fb6..68c6bedadd0f884f6b9010bf76894793b7add783 100644
--- a/locale.xml
+++ b/locale.xml
@@ -331,6 +331,31 @@
             ]]></en>
         </locale>
 
+        <locale name="settings.guest.prevent_duplicate_guest_order_registration">
+            <de><![CDATA[Vermeidung doppelter Registrierungen für wiederkehrende Gastbestellungen]]></de>
+            <en><![CDATA[Avoidance of duplicate registrations for recurring guest orders]]></en>
+        </locale>
+        <locale name="settings.guest.prevent_duplicate_guest_order_registration.description">
+            <de><![CDATA[
+            <p>Mit dieser Option kannst Du wiederkehrende Bestellungen von Gästen ohne eine erneute Registrierung direkt einem bestehenden Kundenkonto zuordnen.
+            Wenn diese Funktion aktiviert ist, werden Bestellungen, die mit einer bereits bekannten E-Mail-Adresse getätigt werden,
+            automatisch dem zugehörigen Kundenkonto zugefügt. Das verhindert die Erstellung eines neuen Kontos bei jeder neuen Bestellung.
+            So wird der Bestellprozess für wiederkehrende Gäste vereinfacht und die Verwaltung von Kundenkonten effizienter.</p>
+
+            <p>Bitte beachte, dass diese Einstellung vor allem dann sinnvoll ist, wenn es keine Frontend-Kundenkonten gibt,
+            also wenn Kunden sich nicht selbst im System anmelden können.</p>
+            ]]></de>
+            <en><![CDATA[
+            <p>With this option, you can assign recurring orders from guests directly to an existing customer account without having to register again.
+            If this feature is activated, orders placed with an already known e-mail address will be automatically added to the associated customer account.
+            This prevents the creation of a new account for each new order and simplifies the ordering process for
+            returning guests and makes customer account management more efficient.</p>
+
+            <p>Please note that this setting is particularly useful if there are no front-end customer accounts,
+            i.e. when customers cannot log into the system themselves.</p>
+            ]]></en>
+        </locale>
+
     </groups>
 
 </locales>
diff --git a/package.xml b/package.xml
index f2296bf5c381b17e1932d46b73eb936b521e2607..75c9d3cbd30979cdd4a56570d0b7156d9dba6b9e 100644
--- a/package.xml
+++ b/package.xml
@@ -9,6 +9,8 @@
             <locale group="quiqqer/order-guestorder" var="package.description"/>
         </description>
 
+        <image src="URL_OPT_DIR/quiqqer/order-guestorder/bin/images/Logo.png"/>
+
         <support>
             <email><![CDATA[support@pcsg.de]]></email>
             <forum><![CDATA[https://community.quiqqer.com]]></forum>
diff --git a/settings.xml b/settings.xml
index 2627376805a5b762dda59747130ca5edfb01d55e..63f5a99cbf29067a66a4c321937ce074303f89ee 100644
--- a/settings.xml
+++ b/settings.xml
@@ -15,6 +15,10 @@
                     <type><![CDATA[bool]]></type>
                     <defaultvalue>1></defaultvalue>
                 </conf>
+                <conf name="prevent_duplicate_guest_order_registration">
+                    <type><![CDATA[bool]]></type>
+                    <defaultvalue>0></defaultvalue>
+                </conf>
             </section>
         </config>
 
@@ -79,6 +83,17 @@
                                         var="settings.guest.invoicing_for_guests.description"/>
                             </description>
                         </input>
+
+                        <input conf="guestorder.prevent_duplicate_guest_order_registration" type="checkbox">
+                            <text>
+                                <locale group="quiqqer/order-guestorder"
+                                        var="settings.guest.prevent_duplicate_guest_order_registration"/>
+                            </text>
+                            <description>
+                                <locale group="quiqqer/order-guestorder"
+                                        var="settings.guest.prevent_duplicate_guest_order_registration.description"/>
+                            </description>
+                        </input>
                     </settings>
 
                 </category>
diff --git a/src/QUI/ERP/Order/Guest/EventHandler.php b/src/QUI/ERP/Order/Guest/EventHandler.php
index 488b5eacbc12a83b7316be2ae2704b80067724da..b6cd03cb874e1ac519f9b1592e848669f429ea7e 100644
--- a/src/QUI/ERP/Order/Guest/EventHandler.php
+++ b/src/QUI/ERP/Order/Guest/EventHandler.php
@@ -216,11 +216,9 @@ public static function onQuiqqerOrderProcessSendCreateOrder(QUI\ERP\Order\OrderP
             // create normal account
             if (QUI::getUsers()->usernameExists($email)) {
                 // user already exists
-                // @deprecated
                 $User = QUI::getUsers()->getUserByName($email);
                 $Order->setCustomer($User);
             } elseif (GuestOrder::isAnonymousOrder()) {
-                // @deprecated
                 $GuestUser->setAttribute('email', $email);
                 $Order->setCustomer($GuestUser);
             } else {