diff --git a/locale.xml b/locale.xml
index cf16c620908a6c3fec42fe5f44520b268507092d..97c46b1585c3546db28253d023be6a3ce04f7076 100644
--- a/locale.xml
+++ b/locale.xml
@@ -62,7 +62,7 @@
         </locale>
         <locale name="control.currency.sign">
             <de><![CDATA[Währungsszeichen]]></de>
-            <en><![CDATA[Currency code]]></en>
+            <en><![CDATA[Currency sign]]></en>
         </locale>
         <locale name="control.currency.rate">
             <de><![CDATA[Umrechnungskurs]]></de>
diff --git a/src/QUI/ERP/Currency/Handler.php b/src/QUI/ERP/Currency/Handler.php
index 66881c729f69d9f11c5bb130a4cd66aace5313bb..6d8f77c81cda96a1a3d2dd3c4abcdc6dc2b141e0 100644
--- a/src/QUI/ERP/Currency/Handler.php
+++ b/src/QUI/ERP/Currency/Handler.php
@@ -14,6 +14,7 @@
 use function json_decode;
 use function json_encode;
 use function mb_strtolower;
+use function mb_substr;
 
 /**
  * Currency class
@@ -103,6 +104,17 @@ public static function createCurrency(string $currency, $rate = 1, string $type
         $textData = QUI\Translator::getVarData($localeGroup, $localeText);
         $signData = QUI\Translator::getVarData($localeGroup, $localeSign);
 
+        foreach (QUI::availableLanguages() as $language) {
+            if (!isset($textData[$language])) {
+                $textData[$language] = $currency;
+            }
+
+            if (!isset($signData[$language])) {
+                $signData[$language] = mb_substr($currency, 0, 1);
+            }
+        }
+
+
         // text
         try {
             QUI\Translator::add(
@@ -113,12 +125,12 @@ public static function createCurrency(string $currency, $rate = 1, string $type
         } catch (QUI\Exception $e) {
         }
 
-        if (empty($textData)) {
+        if (!empty($textData)) {
             QUI\Translator::edit(
                 'quiqqer/currency',
                 'currency.' . $currency . '.text',
                 'quiqqer/currency',
-                $languageData
+                $textData
             );
         }
 
@@ -133,7 +145,7 @@ public static function createCurrency(string $currency, $rate = 1, string $type
         }
 
 
-        if (empty($signData)) {
+        if (!empty($signData)) {
             QUI\Translator::edit(
                 'quiqqer/currency',
                 'currency.' . $currency . '.sign',
@@ -469,30 +481,6 @@ public static function updateCurrency($currency, $data)
             $dbData['customData'] = json_encode($data['customData']);
         }
 
-        if (isset($data['code'])) {
-            try {
-                QUI\Translator::add(
-                    'quiqqer/currency',
-                    'currency.' . $data['code'] . '.sign',
-                    'quiqqer/currency'
-                );
-            } catch (QUI\Exception $e) {
-            }
-
-
-            QUI\Translator::edit(
-                'quiqqer/currency',
-                'currency.' . $currency . '.sign',
-                'quiqqer/currency',
-                [
-                    'en' => $data['code'],
-                    'de' => $data['code']
-                ]
-            );
-
-            QUI\Translator::publish('quiqqer/currency');
-        }
-
         if (isset($data['rate'])) {
             $dbData['rate'] = floatval($data['rate']);
         }