diff --git a/openappstack/__main__.py b/openappstack/__main__.py
index 849d6fd7e3980201d2d813732605a57f13f91084..97d265567c6dceed0561549abb7854f675bf93b4 100755
--- a/openappstack/__main__.py
+++ b/openappstack/__main__.py
@@ -20,6 +20,7 @@ Install requirements:
 
 import argparse
 import logging
+from math import floor
 import os
 import sys
 import greenhost_cloud
@@ -275,13 +276,9 @@ def create(clus, args):  # pylint: disable=too-many-branches
 
         if len(args.domain) + len(args.subdomain) + 1 > MAX_DOMAIN_LENGTH:
             if args.truncate_subdomain:
-                required_length = MAX_DOMAIN_LENGTH - len(args.domain) - 1
-                # UGLY WORKAROUND, fix https://open.greenhost.net/openappstack/openappstack/-/issues/572
-                if args.subdomain[-3:] == '.ci':
-                    subdomain = args.subdomain[0:required_length-3] + '.ci'
-                else:
-                # END OF UGLY WORKAROUND
-                    subdomain = args.subdomain[0:required_length]
+                half_required_length = floor((MAX_DOMAIN_LENGTH - len(args.domain) - 1)/2)
+                subdomain = args.subdomain[:half_required_length]
+                subdomain += args.subdomain[-half_required_length:]
                 log.warning('Subdomain truncated to "%s"', subdomain)
             else:
                 log.error(('ERROR: --subdomain argument is too long. Domain '