diff --git a/scripts/utility/localisation.ts b/scripts/utility/localisation.ts
index 42f32ea365a7360ac37d382fef93697b652fd6dc..8d4e18934e7ab1c5146fad0785fa8f986e4a080b 100644
--- a/scripts/utility/localisation.ts
+++ b/scripts/utility/localisation.ts
@@ -165,4 +165,14 @@ export default abstract class Localisation
 
         return result;
     }
+
+    public static translateCountry (country: string): string
+    {
+        // NOTE: The countries are already in the local language all over the database. Technically, this only corrects the capitalisation.
+
+        const indexOfCountry = Config.main.allowedCountries.indexOf(country);
+        const localisedCountry = Config.rawCountries[indexOfCountry];
+
+        return localisedCountry;
+    }
 }
diff --git a/scripts/utility/tokenString.ts b/scripts/utility/tokenString.ts
index d82a159e1c4570e471eeabee8aaff426a39d6f1b..d8e30b2d4371140c6ce687b8607735e0ed98adda 100644
--- a/scripts/utility/tokenString.ts
+++ b/scripts/utility/tokenString.ts
@@ -94,7 +94,6 @@ export default class TokenString
         if (contactData instanceof Member)
         {
             map.set('address', contactData.information.address);
-            map.set('country', contactData.information.country);
             map.set('digitalAddress', contactData.information.digitalAddress);
             map.set('wishList', contactData.information.wishList);
             map.set('allergies', contactData.information.allergies);
@@ -102,6 +101,8 @@ export default class TokenString
             map.set('userExclusion', contactData.information.userExclusion);
             map.set('freeText', contactData.information.freeText);
 
+            map.set('country', Localisation.translateCountry(contactData.information.country));
+
             map.set('internationalAllowed', Localisation.translateBoolean(contactData.information.internationalAllowed));
 
             map.set('giftTypeAsTaker', Localisation.translateGiftType(contactData.information.giftTypeAsTaker));
diff --git a/scripts/wichtelbot/message/modules/informationModule.ts b/scripts/wichtelbot/message/modules/informationModule.ts
index b516dd7aca72671a6853adae55d8a51318741ab5..0f2c384debb01e79038a636fb5f83d4324f3abc1 100644
--- a/scripts/wichtelbot/message/modules/informationModule.ts
+++ b/scripts/wichtelbot/message/modules/informationModule.ts
@@ -129,10 +129,9 @@ export default class InformationModule
     {
         const member = this.database.getMember(message.author.id);
 
-        // TODO: The country from the database is all lowercase, it should be made "normal" (starting with an upper case,
-        //       or even decently localised) at this point.
+        const localisedCountry = Localisation.translateCountry(member.information.country);
 
-        await this.sendCurrentInformationValue(message, member, member.information.country);
+        await this.sendCurrentInformationValue(message, member, localisedCountry);
     }
 
     public async sendCurrentDigitalAddress (message: Message): Promise<void>
@@ -341,7 +340,7 @@ export default class InformationModule
             visualisations.push(
                 {
                     headline: Localisation.texts.profileCounty.process(member),
-                    text: member.information.country,
+                    text: Localisation.translateCountry(member.information.country),
                     type: VisualisationType.Compact
                 }
             );
diff --git a/tests/tests/messages/statefulCommands.ts b/tests/tests/messages/statefulCommands.ts
index 49af6a45668a1a80ed61f3ce36c941aac2d524f1..1d3faa76c8ae6eb5fcc3aaf6969e51c345f5d641 100644
--- a/tests/tests/messages/statefulCommands.ts
+++ b/tests/tests/messages/statefulCommands.ts
@@ -647,15 +647,23 @@ describe('statefulCommands',
             {
                 const expectedFreeText = '-';
 
+                let called = false;
+
                 const testCallback = (text: string, member: Member): void =>
                 {
-                    const parameters = new KeyValuePairList('currentEventName', Config.main.currentEvent.name);
-                    assert.strictEqual(text, Localisation.texts.becameMember.process(member, parameters));
-                    assert.strictEqual(member.state, State.Waiting);
-                    assert.strictEqual(member.type, ContactType.Member);
-                    assert.strictEqual(member.information.freeText, expectedFreeText);
+                    if (!called) // Only check the first call.
+                    {
+                        const parameters = new KeyValuePairList('currentEventName', Config.main.currentEvent.name);
+                        assert.strictEqual(text, Localisation.texts.becameMember.process(member, parameters));
+                        assert.strictEqual(member.state, State.Waiting);
+                        assert.strictEqual(member.type, ContactType.Member);
+                        assert.strictEqual(member.information.freeText, expectedFreeText);
+                    }
+                    called = true;
                 };
 
+                // TODO: This is messy. Using mockito instead could make this much easier.
+
                 const message = new CommandTestMessage(database, testCallback, ChannelType.Personal);
                 message.content = expectedFreeText;
 
@@ -664,6 +672,7 @@ describe('statefulCommands',
                 await messageHandler.process(message);
 
                 assert.strictEqual(message.called, true);
+                assert.strictEqual(called, true);
             }
         );
     }
diff --git a/tests/tests/utility.tokenString.ts b/tests/tests/utility.tokenString.ts
index e57c9de1810aef461a85ac38ab261c698caf2a31..52286738ce0b6ea86f2a32aa794648d7ce9bd594 100644
--- a/tests/tests/utility.tokenString.ts
+++ b/tests/tests/utility.tokenString.ts
@@ -5,6 +5,7 @@ import ContactTestUtility from '../utility/contact';
 import { KeyValuePairList } from '../../scripts/utility/keyValuePair';
 import Localisation from '../../scripts/utility/localisation';
 import TokenString from '../../scripts/utility/tokenString';
+import Config from '../../scripts/utility/config';
 
 describe('tokenString',
     function ()
@@ -46,6 +47,9 @@ describe('tokenString',
             {
                 const member = ContactTestUtility.createRandomMember();
 
+                member.information.country = Config.main.allowedCountries[0];
+                const expectedCountry = Localisation.translateCountry(member.information.country);
+
                 const internationalAllowedString = Localisation.translateBoolean(member.information.internationalAllowed);
                 const giftTypeAsTakerString = Localisation.translateGiftType(member.information.giftTypeAsTaker);
                 const giftTypeAsGiverString = Localisation.translateGiftType(member.information.giftTypeAsGiver);
@@ -58,7 +62,7 @@ describe('tokenString',
                                   '{information.userExclusion}, {information.freeText}';
                 const expectedString = `${member.name}, ${member.tag}, ${member.nickname},` +
                                        `${giftTypeAsTakerString}, ${giftTypeAsGiverString},` +
-                                       `${member.information.address}, ${member.information.country}, ${member.information.digitalAddress},` +
+                                       `${member.information.address}, ${expectedCountry}, ${member.information.digitalAddress},` +
                                        `${internationalAllowedString}, ${member.information.wishList},` +
                                        `${member.information.allergies}, ${member.information.giftExclusion},` +
                                        `${member.information.userExclusion}, ${member.information.freeText}`;