diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
index bb355f02c4729338ecc4518b6c5af1267d0a5ae9..8e628f710aa5eb13d12a48e7b1ded8214e17c9d2 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
@@ -829,8 +829,9 @@ public interface MetadataMapper {
         final Pattern WHITESPACE = Pattern.compile("[\\s]");
         String nowhitespace = WHITESPACE.matcher(data).replaceAll("_");
         String normalized = Normalizer.normalize(nowhitespace, Normalizer.Form.NFD);
-        String slug = NONLATIN.matcher(normalized).replaceAll("");
-        final String name = slug.toLowerCase(Locale.ENGLISH);
+        String slug = NONLATIN.matcher(normalized).replaceAll("_");
+        final String name = slug.toLowerCase(Locale.ENGLISH)
+                .replaceAll("-", "_");
         log.debug("mapping name {} to internal name {}", data, name);
         return name;
     }
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
index c357020a684be7b90120ef6dc0fad68a42dcd098..732c11124f38fc0bbf2338a93f6d33d04b14d38f 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
@@ -398,10 +398,10 @@ public class MetadataMapperUnitTest extends AbstractUnitTest {
 
     public static Stream<Arguments> nameToInternalName_parameters() {
         return Stream.of(
-                Arguments.arguments("dash_minus", "OE/NO-027", "oeno-027"),
-                Arguments.arguments("percent", "OE%NO-027", "oeno-027"),
-                Arguments.arguments("umlaut", "OE/NÖ-027", "oeno-027"),
-                Arguments.arguments("dot", "OE.NO-027", "oeno-027")
+                Arguments.arguments("dash_minus", "OE/NO-027", "oe_no_027"),
+                Arguments.arguments("percent", "OE%NO-027", "oe_no_027"),
+                Arguments.arguments("umlaut", "OE/NÖ-027", "oe_no__027"),
+                Arguments.arguments("dot", "OE.NO-027", "oe_no_027")
         );
     }
 
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
index c16a4191f90cdf1a3228bad5879a40f375abe409..d32189f944767a41aea777728ce7d1c58cf05a10 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
@@ -184,7 +184,7 @@ public class TableServiceUnitTest extends AbstractUnitTest {
         assertTrue(column0.getAutoGenerated());
         final TableColumn column1 = response.getColumns().get(1);
         assertEquals("I Am Späshül", column1.getName());
-        assertEquals("i_am_spashul", column1.getInternalName());
+        assertEquals("i_am_spa_shu_l", column1.getInternalName());
         assertEquals(TableColumnType.TEXT, column1.getColumnType());
         assertTrue(column1.getIsNullAllowed());
         assertFalse(column1.getAutoGenerated());
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
index e8fecdf300095d9d936a6bdf1a9269b141952bcd..593b612a9c36162abc5d97f1fb95ea11cbce7078 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
@@ -19,7 +19,6 @@ import at.tuwien.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
-import at.tuwien.mapper.SparqlMapper;
 import at.tuwien.repository.DatabaseRepository;
 import at.tuwien.service.*;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-ui/pages/database/[database_id]/table/import.vue b/dbrepo-ui/pages/database/[database_id]/table/import.vue
index 724205c7ba1934dfcbe4c4e3b4a88659e47f77b6..07e56afea3ea7ca2a031eece14976ffc488aa431 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/import.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/import.vue
@@ -325,10 +325,9 @@ export default {
           this.table = table
           resolve(table)
         })
-        .catch((error) => {
-          console.error('Failed to create table', error)
+        .catch(({code, message}) => {
           const toast = useToastInstance()
-          toast.error(this.$t(error.code))
+          toast.error(`${this.$t(code)}: ${message}`)
           this.loading = false
           reject(error)
         })
@@ -347,10 +346,10 @@ export default {
           toast.success(this.$t('success.import.dataset'))
           this.cacheStore.reloadDatabase()
         })
-        .catch(({code}) => {
+        .catch(({code, message}) => {
           console.error('Failed to import csv')
           const toast = useToastInstance()
-          toast.error(this.$t(code))
+          toast.error(`${this.$t(code)}: ${message}`)
           this.loading = false
         })
         .finally(() => {