diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/importer/CategoryImporter.java b/src/main/java/de/deadlocker8/budgetmaster/database/importer/CategoryImporter.java
index 0ee400cce9503def69ec1f19efa9e14db5c1b084..1b7d427705a9716386f2aebb1ea051d6e893d7a2 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/importer/CategoryImporter.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/importer/CategoryImporter.java
@@ -54,6 +54,7 @@ public class CategoryImporter extends ItemImporter<Category>
 		{
 			//category already exists
 			newCategoryID = existingCategory.getID();
+			category.setIconReference(existingCategory.getIconReference());
 			LOGGER.debug(MessageFormat.format("Found matching category with ID: {0} for category \"{1}\".", newCategoryID, category.getName()));
 		}
 		return newCategoryID;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java
index a74193d787eef78e136df263c388bbbd8b19def4..de51e3ed32a6ce5bc71c5f1f24ef12c45623e167 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/importer/CategoryImporterTest.java
@@ -4,6 +4,8 @@ import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.database.importer.CategoryImporter;
+import de.deadlocker8.budgetmaster.icon.Icon;
+import de.deadlocker8.budgetmaster.icon.IconRepository;
 import de.deadlocker8.budgetmaster.services.EntityType;
 import de.deadlocker8.budgetmaster.services.ImportResultItem;
 import org.junit.jupiter.api.Test;
@@ -25,6 +27,9 @@ class CategoryImporterTest
 	@Autowired
 	private CategoryRepository categoryRepository;
 
+	@Autowired
+	private IconRepository iconRepository;
+
 	@Test
 	void test_importCategories()
 	{
@@ -78,18 +83,48 @@ class CategoryImporterTest
 	@Test
 	void test_importCategories_skipExisting_custom()
 	{
-		final Category category = new Category("Category1", "#ff0000", CategoryType.CUSTOM);
-		category.setID(3);
+		final Category categoryExisting= new Category("Category1", "#ff0000", CategoryType.CUSTOM);
+		categoryExisting.setID(3);
+
+		final Category categoryToImport = new Category("Category1", "#ff0000", CategoryType.CUSTOM);
+		categoryToImport.setID(15);
 
 		categoryRepository.save(new Category("existing category 1", "#ffffff", CategoryType.CUSTOM));
 		categoryRepository.save(new Category("existing category 2", "#ffffff", CategoryType.CUSTOM));
-		categoryRepository.save(category);
+		categoryRepository.save(categoryExisting);
 
 		final CategoryImporter importer = new CategoryImporter(categoryRepository);
-		final ImportResultItem resultItem = importer.importItems(List.of(category));
+		final ImportResultItem resultItem = importer.importItems(List.of(categoryToImport));
+
+		final ImportResultItem expected = new ImportResultItem(EntityType.CATEGORY, 1, 1, List.of());
+		assertThat(resultItem).isEqualTo(expected);
+		assertThat(categoryToImport).hasFieldOrPropertyWithValue("ID", 3);
+	}
+
+	@Test
+	void test_importCategories_existingCategory_takeExistingIcon()
+	{
+		final Icon icon = new Icon("fas fa-icons");
+		icon.setID(1);
+		iconRepository.save(icon);
+
+		final Category categoryExisting = new Category("Category1", "#ff0000", CategoryType.CUSTOM);
+		categoryExisting.setIconReference(icon);
+		categoryExisting.setID(3);
+
+		final Category categoryToImport = new Category("Category1", "#ff0000", CategoryType.CUSTOM);
+		categoryToImport.setID(15);
+
+		categoryRepository.save(categoryExisting);
+
+		final CategoryImporter importer = new CategoryImporter(categoryRepository);
+		final ImportResultItem resultItem = importer.importItems(List.of(categoryToImport));
 
 		final ImportResultItem expected = new ImportResultItem(EntityType.CATEGORY, 1, 1, List.of());
 		assertThat(resultItem).isEqualTo(expected);
-		assertThat(category).hasFieldOrPropertyWithValue("ID", 3);
+		assertThat(categoryToImport)
+				.hasFieldOrPropertyWithValue("ID", 1)
+				.hasFieldOrPropertyWithValue("iconReference", icon);
+
 	}
 }
\ No newline at end of file