diff --git a/enzevalos_iphone/BadgeCaseView.swift b/enzevalos_iphone/BadgeCaseView.swift
index 68de1152eb6103545e7b51bc651e6e8844920985..b2627040641f97aab3f6e1314bd584bb18125ea6 100644
--- a/enzevalos_iphone/BadgeCaseView.swift
+++ b/enzevalos_iphone/BadgeCaseView.swift
@@ -13,7 +13,7 @@ struct BadgeCaseView: View {
         UITableView.appearance().separatorStyle = .none
     }
     
-    let badges: [Badge] = GamificationData.sharedInstance.badges.map { Badge(type: $0.type, description: $0.displayName, imageOn: $0.onName, imageOff: $0.offName) }
+    let badges: [Badge] = GamificationData.sharedInstance.badges.map { Badge(type: $0.type, description: $0.displayName, imageOn: $0.onName, imageOff: $0.offName, isActive: $0.isAchieved()) }
     
     var body: some View {
         NavigationView {
@@ -23,7 +23,7 @@ struct BadgeCaseView: View {
                 List {
                     ForEach(badges) { badge in
                         NavigationLink(destination: BadgeProgressView(badge: badge)) {
-                            BadgeItem(badgeType: badge.type, badgeImageSrcOn: badge.imageOn, badgeImageSrcOff: badge.imageOff, badgeTitle: badge.description)
+                            BadgeItem(badgeType: badge.type, badgeImageSrcOn: badge.imageOn, badgeImageSrcOff: badge.imageOff, badgeTitle: badge.description, isActive: badge.isActive)
                         }
                     }
                 }
@@ -49,6 +49,7 @@ struct Badge: Identifiable {
     var description: String
     var imageOn: String
     var imageOff: String
+    var isActive: Bool
 }
 
 struct BadgeItem: View {
@@ -57,7 +58,7 @@ struct BadgeItem: View {
     let badgeImageSrcOn: String
     let badgeImageSrcOff: String
     let badgeTitle: String
-    @State var isActive: Bool = false
+    var isActive: Bool
     
     init(badgeType: BadgeType, badgeImageSrcOn: String, badgeImageSrcOff: String, badgeTitle: String, isActive: Bool = false) {
         
@@ -70,7 +71,7 @@ struct BadgeItem: View {
     
     var body: some View {
         HStack {
-            Image(self.isActive ? self.badgeImageSrcOn : self.badgeImageSrcOff)
+            Image(isActive ? badgeImageSrcOn : badgeImageSrcOff)
                 .resizable()
                 .scaledToFit()
                 .frame(width: 40,height: 40)
diff --git a/enzevalos_iphone/BadgeProgressView.swift b/enzevalos_iphone/BadgeProgressView.swift
index 676d915b8818aba8fca35f858bb549961fbe6851..2593778b9f5ca936b911a3a98e74cc07c8e81fe4 100644
--- a/enzevalos_iphone/BadgeProgressView.swift
+++ b/enzevalos_iphone/BadgeProgressView.swift
@@ -17,8 +17,8 @@ struct BadgeProgressView: View {
             titleBar
             Divider()
             List {
-                ForEach(GamificationData.sharedInstance.subBadgesforBadge(badge: badge.type).map { Badge(type: $0.type, description: $0.displayName, imageOn: $0.onName, imageOff: $0.offName) }) { subBadge in
-                    Quest(isLast: false, isDone: false, description: subBadge.description, imageOn: subBadge.imageOn, imageOff: subBadge.imageOff)
+                ForEach(GamificationData.sharedInstance.subBadgesforBadge(badge: badge.type).map { Badge(type: $0.type, description: $0.displayName, imageOn: $0.onName, imageOff: $0.offName, isActive: $0.isAchieved()) }) { subBadge in
+                    Quest(isQuestCompleted: subBadge.isActive, description: subBadge.description, imageOn: subBadge.imageOn, imageOff: subBadge.imageOff)
                 }
             }
         }
@@ -41,15 +41,13 @@ struct BadgeProgressView: View {
 
 
 struct Quest: View {
-    let isLast: Bool
-    let isDone: Bool
+    let isQuestCompleted: Bool
     let description: String
     let imageOn: String
     let imageOff: String
     
-    init(isLast: Bool, isDone: Bool, description: String, imageOn: String, imageOff: String) {
-        self.isLast = isLast
-        self.isDone = isDone
+    init(isQuestCompleted: Bool, description: String, imageOn: String, imageOff: String) {
+        self.isQuestCompleted = isQuestCompleted
         self.description = description
         self.imageOn = imageOn
         self.imageOff = imageOff
@@ -57,7 +55,7 @@ struct Quest: View {
     
     var body: some View {
         HStack {
-            Image(isDone ? imageOn : imageOff)
+            Image(isQuestCompleted ? imageOn : imageOff)
                 .resizable()
                 .scaledToFit()
                 .frame(width: 40,height: 40)
@@ -69,6 +67,6 @@ struct Quest: View {
 
 struct BadgeProgressView_Previews: PreviewProvider {
     static var previews: some View {
-        BadgeProgressView(badge: Badge(type: .MailMaster, description: NSLocalizedString("Mailmaster", comment:"Mailmaster badge" ), imageOn: "verschluesseltOn", imageOff: "verschluesseltOff"))
+        BadgeProgressView(badge: Badge(type: .MailMaster, description: NSLocalizedString("Mailmaster", comment:"Mailmaster badge" ), imageOn: "verschluesseltOn", imageOff: "verschluesseltOff", isActive: true))
     }
 }