diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTag_v4.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTag_v4.java
new file mode 100644
index 0000000000000000000000000000000000000000..72ca4933663354ceded8b02344e16a47cad3d097
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTag_v4.java
@@ -0,0 +1,51 @@
+package de.deadlocker8.budgetmaster.database.model.v4;
+
+import java.util.Objects;
+
+public class BackupTag_v4
+{
+	private String name;
+
+	public BackupTag_v4()
+	{
+		// for GSON
+	}
+
+	public BackupTag_v4(String name)
+	{
+		this.name = name;
+	}
+
+	public String getName()
+	{
+		return name;
+	}
+
+	public void setName(String name)
+	{
+		this.name = name;
+	}
+
+	@Override
+	public boolean equals(Object o)
+	{
+		if(this == o) return true;
+		if(o == null || getClass() != o.getClass()) return false;
+		BackupTag_v4 that = (BackupTag_v4) o;
+		return Objects.equals(name, that.name);
+	}
+
+	@Override
+	public int hashCode()
+	{
+		return Objects.hash(name);
+	}
+
+	@Override
+	public String toString()
+	{
+		return "BackupTag_v4{" +
+				"name='" + name + '\'' +
+				'}';
+	}
+}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTemplate_v4.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTemplate_v4.java
index 3c3f29701e813d60f17d7e2b282e60836a7e12da..75aa699855670a1e2bf8914b6406d27e3348774d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTemplate_v4.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTemplate_v4.java
@@ -18,7 +18,7 @@ public class BackupTemplate_v4 implements BackupTransactionBase_v4, Upgradeable<
 	private BackupCategory_v4 category;
 	private String name;
 	private String description;
-	private List<Tag> tags;
+	private List<BackupTag_v4> tags;
 	private BackupAccount_v4 transferAccount;
 
 	public BackupTemplate_v4()
@@ -96,12 +96,12 @@ public class BackupTemplate_v4 implements BackupTransactionBase_v4, Upgradeable<
 		this.description = description;
 	}
 
-	public List<Tag> getTags()
+	public List<BackupTag_v4> getTags()
 	{
 		return tags;
 	}
 
-	public void setTags(List<Tag> tags)
+	public void setTags(List<BackupTag_v4> tags)
 	{
 		this.tags = tags;
 	}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTransaction_v4.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTransaction_v4.java
index 265ed8999fe215e09d22f82075a7428e325e9a49..8d6814c7ca01dbad48f6eb7631d1e0c5077ab22a 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTransaction_v4.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupTransaction_v4.java
@@ -18,7 +18,7 @@ public class BackupTransaction_v4 implements BackupTransactionBase_v4, Upgradeab
 	private BackupCategory_v4 category;
 	private String name;
 	private String description;
-	private List<Tag> tags;
+	private List<BackupTag_v4> tags;
 	private BackupRepeatingOption_v4 repeatingOption;
 	private BackupAccount_v4 transferAccount;
 
@@ -97,12 +97,12 @@ public class BackupTransaction_v4 implements BackupTransactionBase_v4, Upgradeab
 		this.description = description;
 	}
 
-	public List<Tag> getTags()
+	public List<BackupTag_v4> getTags()
 	{
 		return tags;
 	}
 
-	public void setTags(List<Tag> tags)
+	public void setTags(List<BackupTag_v4> tags)
 	{
 		this.tags = tags;
 	}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java
index 944f1090ac2a1fdcb50e37d15f804fd5cc21bfd0..d362f2d188e504b5558ccf6e8427a96150c2f126 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java
@@ -1,5 +1,6 @@
 package de.deadlocker8.budgetmaster.database.model.v5;
 
+import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4;
 import de.deadlocker8.budgetmaster.tags.Tag;
 
 import java.util.List;
@@ -15,7 +16,7 @@ public class BackupTemplate_v5
 	private String name;
 	private String description;
 	private BackupImage_v5 icon;
-	private List<Tag> tags;
+	private List<BackupTag_v4> tags;
 	private BackupAccount_v5 transferAccount;
 
 	public BackupTemplate_v5()
@@ -23,7 +24,7 @@ public class BackupTemplate_v5
 		// for GSON
 	}
 
-	public BackupTemplate_v5(String templateName, Integer amount, Boolean isExpenditure, BackupAccount_v5 account, BackupCategory_v5 category, String name, String description, BackupImage_v5 icon, List<Tag> tags, BackupAccount_v5 transferAccount)
+	public BackupTemplate_v5(String templateName, Integer amount, Boolean isExpenditure, BackupAccount_v5 account, BackupCategory_v5 category, String name, String description, BackupImage_v5 icon, List<BackupTag_v4> tags, BackupAccount_v5 transferAccount)
 	{
 		this.templateName = templateName;
 		this.amount = amount;
@@ -117,12 +118,12 @@ public class BackupTemplate_v5
 		this.icon = icon;
 	}
 
-	public List<Tag> getTags()
+	public List<BackupTag_v4> getTags()
 	{
 		return tags;
 	}
 
-	public void setTags(List<Tag> tags)
+	public void setTags(List<BackupTag_v4> tags)
 	{
 		this.tags = tags;
 	}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java
index 299d521c1021003e995c85ae8779d5d3b1f08419..5243376b45ac9ac1442adc2fdafa0ef92242dcee 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java
@@ -1,7 +1,7 @@
 package de.deadlocker8.budgetmaster.database.model.v5;
 
 import de.deadlocker8.budgetmaster.database.model.v4.BackupRepeatingOption_v4;
-import de.deadlocker8.budgetmaster.tags.Tag;
+import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4;
 
 import java.util.List;
 import java.util.Objects;
@@ -15,7 +15,7 @@ public class BackupTransaction_v5
 	private BackupCategory_v5 category;
 	private String name;
 	private String description;
-	private List<Tag> tags;
+	private List<BackupTag_v4> tags;
 	private BackupRepeatingOption_v4 repeatingOption;
 	private BackupAccount_v5 transferAccount;
 
@@ -24,7 +24,7 @@ public class BackupTransaction_v5
 		// for GSON
 	}
 
-	public BackupTransaction_v5(Integer amount, Boolean isExpenditure, String date, BackupAccount_v5 account, BackupCategory_v5 category, String name, String description, List<Tag> tags, BackupRepeatingOption_v4 repeatingOption, BackupAccount_v5 transferAccount)
+	public BackupTransaction_v5(Integer amount, Boolean isExpenditure, String date, BackupAccount_v5 account, BackupCategory_v5 category, String name, String description, List<BackupTag_v4> tags, BackupRepeatingOption_v4 repeatingOption, BackupAccount_v5 transferAccount)
 	{
 		this.amount = amount;
 		this.isExpenditure = isExpenditure;
@@ -108,12 +108,12 @@ public class BackupTransaction_v5
 		this.description = description;
 	}
 
-	public List<Tag> getTags()
+	public List<BackupTag_v4> getTags()
 	{
 		return tags;
 	}
 
-	public void setTags(List<Tag> tags)
+	public void setTags(List<BackupTag_v4> tags)
 	{
 		this.tags = tags;
 	}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TagConverter_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TagConverter_v5.java
new file mode 100644
index 0000000000000000000000000000000000000000..68e62a3f7e4fa5ac32e251616cf13cb75cff30e7
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TagConverter_v5.java
@@ -0,0 +1,29 @@
+package de.deadlocker8.budgetmaster.database.model.v5.converter;
+
+import de.deadlocker8.budgetmaster.database.model.Converter;
+import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4;
+import de.deadlocker8.budgetmaster.tags.Tag;
+
+public class TagConverter_v5 implements Converter<Tag, BackupTag_v4>
+{
+	public Tag convertToInternalForm(BackupTag_v4 backupTag)
+	{
+		if(backupTag == null)
+		{
+			return null;
+		}
+
+		return new Tag(backupTag.getName());
+	}
+
+	@Override
+	public BackupTag_v4 convertToExternalForm(Tag internalItem)
+	{
+		if(internalItem == null)
+		{
+			return null;
+		}
+
+		return new BackupTag_v4(internalItem.getName());
+	}
+}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TemplateConverter_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TemplateConverter_v5.java
index b1b4302ef267553898a47e81d82c78baa8143959..2e8f10059dded7a6e31b53b66b6adca22268acb5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TemplateConverter_v5.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TemplateConverter_v5.java
@@ -1,9 +1,14 @@
 package de.deadlocker8.budgetmaster.database.model.v5.converter;
 
 import de.deadlocker8.budgetmaster.database.model.Converter;
+import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4;
 import de.deadlocker8.budgetmaster.database.model.v5.BackupTemplate_v5;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.templates.Template;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class TemplateConverter_v5 implements Converter<Template, BackupTemplate_v5>
 {
 	public Template convertToInternalForm(BackupTemplate_v5 backupTemplate)
@@ -30,7 +35,15 @@ public class TemplateConverter_v5 implements Converter<Template, BackupTemplate_
 
 		template.setAccount(new AccountConverter_v5().convertToInternalForm(backupTemplate.getAccount()));
 		template.setTransferAccount(new AccountConverter_v5().convertToInternalForm(backupTemplate.getTransferAccount()));
-		template.setTags(backupTemplate.getTags());
+
+		List<Tag> convertedTags = new ArrayList<>();
+		TagConverter_v5 tagConverter = new TagConverter_v5();
+		for(BackupTag_v4 tag : backupTemplate.getTags())
+		{
+			convertedTags.add(tagConverter.convertToInternalForm(tag));
+		}
+		template.setTags(convertedTags);
+
 		template.setTemplateName(backupTemplate.getTemplateName());
 		template.setIcon(new ImageConverter_v5().convertToInternalForm(backupTemplate.getIcon()));
 		return template;
@@ -52,7 +65,15 @@ public class TemplateConverter_v5 implements Converter<Template, BackupTemplate_
 		template.setExpenditure(internalItem.getExpenditure());
 		template.setAccount(new AccountConverter_v5().convertToExternalForm(internalItem.getAccount()));
 		template.setTransferAccount(new AccountConverter_v5().convertToExternalForm(internalItem.getTransferAccount()));
-		template.setTags(internalItem.getTags());
+
+		List<BackupTag_v4> convertedTags = new ArrayList<>();
+		TagConverter_v5 tagConverter = new TagConverter_v5();
+		for(Tag tag : internalItem.getTags())
+		{
+			convertedTags.add(tagConverter.convertToExternalForm(tag));
+		}
+		template.setTags(convertedTags);
+
 		template.setTemplateName(internalItem.getTemplateName());
 		template.setIcon(new ImageConverter_v5().convertToExternalForm(internalItem.getIcon()));
 		return template;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TransactionConverter_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TransactionConverter_v5.java
index 07b1ec0c57663a1fb2a847f3e24e7e8f9629b92b..333931d4e69ae5730b51607a7b63d0900a72e46b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TransactionConverter_v5.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/converter/TransactionConverter_v5.java
@@ -1,11 +1,16 @@
 package de.deadlocker8.budgetmaster.database.model.v5.converter;
 
 import de.deadlocker8.budgetmaster.database.model.Converter;
+import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4;
 import de.deadlocker8.budgetmaster.database.model.v5.BackupTransaction_v5;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class TransactionConverter_v5 implements Converter<Transaction, BackupTransaction_v5>
 {
 	public Transaction convertToInternalForm(BackupTransaction_v5 backupTransaction)
@@ -28,7 +33,14 @@ public class TransactionConverter_v5 implements Converter<Transaction, BackupTra
 		date = date.withHourOfDay(12).withMinuteOfHour(0).withSecondOfMinute(0);
 		transaction.setDate(date);
 
-		transaction.setTags(backupTransaction.getTags());
+		List<Tag> convertedTags = new ArrayList<>();
+		TagConverter_v5 tagConverter = new TagConverter_v5();
+		for(BackupTag_v4 tag : backupTransaction.getTags())
+		{
+			convertedTags.add(tagConverter.convertToInternalForm(tag));
+		}
+		transaction.setTags(convertedTags);
+
 		transaction.setRepeatingOption(new RepeatingOptionConverter_v5().convertToInternalForm(backupTransaction.getRepeatingOption()));
 		return transaction;
 	}
@@ -50,7 +62,15 @@ public class TransactionConverter_v5 implements Converter<Transaction, BackupTra
 		transaction.setAccount(new AccountConverter_v5().convertToExternalForm(internalItem.getAccount()));
 		transaction.setTransferAccount(new AccountConverter_v5().convertToExternalForm(internalItem.getTransferAccount()));
 		transaction.setDate(internalItem.getDate().toString(DateTimeFormat.forPattern("yyyy-MM-dd")));
-		transaction.setTags(internalItem.getTags());
+
+		List<BackupTag_v4> convertedTags = new ArrayList<>();
+		TagConverter_v5 tagConverter = new TagConverter_v5();
+		for(Tag tag : internalItem.getTags())
+		{
+			convertedTags.add(tagConverter.convertToExternalForm(tag));
+		}
+		transaction.setTags(convertedTags);
+		
 		transaction.setRepeatingOption(new RepeatingOptionConverter_v5().convertToExternalForm(internalItem.getRepeatingOption()));
 		return transaction;
 	}
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java
index 70e9b483c3225decddd538a6839c36978e7faf43..1616d922f9991e62e0a9283a5298a1d24ea8b788 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v4Test.java
@@ -121,9 +121,8 @@ public class DatabaseParser_v4Test
 			normalTransaction_2.setCategory(category3);
 			normalTransaction_2.setExpenditure(true);
 
-			List<Tag> tags = new ArrayList<>();
-			Tag tag = new Tag("0815");
-			tag.setID(1);
+			List<BackupTag_v4> tags = new ArrayList<>();
+			BackupTag_v4 tag = new BackupTag_v4("0815");
 			tags.add(tag);
 			normalTransaction_2.setTags(tags);
 
@@ -194,9 +193,8 @@ public class DatabaseParser_v4Test
 			normalTemplate.setCategory(categoryNone);
 			normalTemplate.setExpenditure(false);
 
-			List<Tag> tags = new ArrayList<>();
-			Tag tag = new Tag("0815");
-			tag.setID(1);
+			List<BackupTag_v4> tags = new ArrayList<>();
+			BackupTag_v4 tag = new BackupTag_v4("0815");
 			tags.add(tag);
 			normalTemplate.setTags(tags);
 
diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v5Test.java b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v5Test.java
index a230dceb8900297c2b65ade6e9ce05657717c8da..1b591fe95c0b6c6de5034feddfe3ae9d99894b67 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v5Test.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/unit/database/DatabaseParser_v5Test.java
@@ -228,7 +228,6 @@ public class DatabaseParser_v5Test
 
 			List<Tag> tags = new ArrayList<>();
 			Tag tag = new Tag("0815");
-			tag.setID(1);
 			tags.add(tag);
 			normalTransaction_2.setTags(tags);