diff --git a/app/src/main/java/cz/cvut/fel/tasktest/data/viewModels/TaskViewModel.kt b/app/src/main/java/cz/cvut/fel/tasktest/data/viewModels/TaskViewModel.kt
index 6ec7c1f2e129323922a06fa79be3a23742b0cb29..47a3fccd4929846d9db2a3690d311cf08dc99f15 100644
--- a/app/src/main/java/cz/cvut/fel/tasktest/data/viewModels/TaskViewModel.kt
+++ b/app/src/main/java/cz/cvut/fel/tasktest/data/viewModels/TaskViewModel.kt
@@ -49,10 +49,15 @@ class TaskViewModel(
 
 
 
+    private val _tagsForTaskMap = MutableStateFlow<Map<Long, List<Tag>>>(emptyMap())
+    val tagsForTaskMap: StateFlow<Map<Long, List<Tag>>> get() = _tagsForTaskMap
+
     fun fetchTagsForTask(taskId: Long) {
         viewModelScope.launch(Dispatchers.IO) {
             val tags = taskDAO.getTagsForTask(taskId)
-            _tagsForTask.value = tags
+            _tagsForTaskMap.update { currentMap ->
+                currentMap + (taskId to tags)
+            }
         }
     }
 
diff --git a/app/src/main/java/cz/cvut/fel/tasktest/screens/CurrentBoardScreen.kt b/app/src/main/java/cz/cvut/fel/tasktest/screens/CurrentBoardScreen.kt
index eea356f99eb2d6081003136b861945801bc1fdc9..efdc669b3c2a7134ebf366aeb172656884ac4aaf 100644
--- a/app/src/main/java/cz/cvut/fel/tasktest/screens/CurrentBoardScreen.kt
+++ b/app/src/main/java/cz/cvut/fel/tasktest/screens/CurrentBoardScreen.kt
@@ -134,7 +134,7 @@ fun CurrentBoardScreen(navController: NavHostController, drawerState: DrawerStat
                                         .border(3.dp, Color.Black, ShapeDefaults.Large)
                                         .shadow(2.dp)
                                         .width(270.dp)
-                                        .height(120.dp)
+                                        .height(150.dp)
                                         .align(Alignment.CenterHorizontally)
                                 ) {
                                     TaskCard(task, navController, taskViewModel, task.id)
@@ -203,41 +203,43 @@ fun FloatingButton(navController: NavHostController, boardId: Long) {
 
 @Composable
 fun TaskCard(task: Task, navController: NavHostController, taskViewModel: TaskViewModel, taskId: Long) {
+    // Fetch tags for the specific task when the TaskCard is composed
     LaunchedEffect(taskId) {
         taskViewModel.fetchTagsForTask(taskId)
     }
 
-    // Observe tags for the task
-    val tagsForTask by taskViewModel.tagsForTask.collectAsState()
+    // Observe tags for the task from the map in TaskViewModel
+    val tagsForTask by taskViewModel.tagsForTaskMap.collectAsState()
+    val tags = tagsForTask[taskId] ?: emptyList()
+
     Column {
         Row(modifier = Modifier.padding(start = 16.dp, top = 8.dp)) {
-            tagsForTask.forEach { tag ->
+            tags.forEach { tag ->
                 Text(
                     tag.name,
                     modifier = Modifier
                         .padding(end = 8.dp) // Add padding between tags
                         .background(Color(android.graphics.Color.parseColor(tag.background)))
                 )
-                // You can customize the UI to display tags as you prefer
             }
         }
-        Row(modifier = Modifier.padding(top = 40.dp)) {
-            Text(text = task.title, modifier = Modifier
-                .weight(1f)
-                .padding(start = 8.dp),
-                fontSize = MaterialTheme.typography.headlineMedium.fontSize)
+        Row(modifier = Modifier.padding(top = 20.dp)) {
+            Text(
+                text = task.title,
+                modifier = Modifier
+                    .weight(1f)
+                    .padding(start = 8.dp),
+                fontSize = MaterialTheme.typography.headlineMedium.fontSize
+            )
             IconButton(onClick = { navController.navigate("${MainRoute.CurrentTask.name}/${task.id}") }) {
-                Icon(imageVector =
-                Icons.Default.Create,
+                Icon(
+                    imageVector = Icons.Default.Create,
                     contentDescription = "Task Edit",
                     modifier = Modifier
                         .align(Alignment.CenterVertically)
                         .padding(end = 8.dp)
                 )
             }
-
         }
-
-
     }
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/cz/cvut/fel/tasktest/screens/TagCreationScreen.kt b/app/src/main/java/cz/cvut/fel/tasktest/screens/TagCreationScreen.kt
index 6f73b51777e5d90300043bb765a8654c25896d09..db51025efd80dfe93959e1be95ea751769bc6b44 100644
--- a/app/src/main/java/cz/cvut/fel/tasktest/screens/TagCreationScreen.kt
+++ b/app/src/main/java/cz/cvut/fel/tasktest/screens/TagCreationScreen.kt
@@ -54,6 +54,7 @@ import com.github.skydoves.colorpicker.compose.HsvColorPicker
 import com.github.skydoves.colorpicker.compose.rememberColorPickerController
 import cz.cvut.fel.tasktest.CustomAppBar
 import cz.cvut.fel.tasktest.MainRoute
+import cz.cvut.fel.tasktest.data.Tag
 import cz.cvut.fel.tasktest.data.events.TagEvent
 import cz.cvut.fel.tasktest.data.viewModels.TagViewModel
 
@@ -64,6 +65,8 @@ fun TagCreationScreen(navController: NavHostController, drawerState: DrawerState
     val state by viewModel.state.collectAsState()
     val backgroundColor = remember { mutableStateOf(Color.White) }
     var showConfirmDialogAboutDeleteBoard by remember { mutableStateOf(false) }
+    var tagToBeDeleted by remember { mutableStateOf<Tag?>(null) }
+
     if (state.background.isNotBlank()) {
         try {
             backgroundColor.value = Color(android.graphics.Color.parseColor(state.background))
@@ -194,7 +197,7 @@ fun TagCreationScreen(navController: NavHostController, drawerState: DrawerState
                                 .width(200.dp)
                                 .background(Color(android.graphics.Color.parseColor(tag.background)))
                         )
-                        IconButton(onClick = { showConfirmDialogAboutDeleteBoard = true },
+                        IconButton(onClick = { showConfirmDialogAboutDeleteBoard = true; tagToBeDeleted = tag },
                             modifier = Modifier
                                 .padding(start = 8.dp)
                                 .size(30.dp)){
@@ -202,21 +205,24 @@ fun TagCreationScreen(navController: NavHostController, drawerState: DrawerState
                                 contentDescription = "Delete Tag Icon",
                             )
                         }
-            }
+                    }
 
-                    if (showConfirmDialogAboutDeleteBoard){
+                    if (showConfirmDialogAboutDeleteBoard && tagToBeDeleted != null) {
                         AlertDialog(
                             onDismissRequest = {
-                                // Dismiss the dialog when the user taps outside or on the back button
                                 showConfirmDialogAboutDeleteBoard = false
+                                tagToBeDeleted = null
                             },
                             title = { Text("Confirmation") },
-                            text = { Text("Are you sure you want to delete this tag?.") },
+                            text = { Text("Are you sure you want to delete this tag?") },
                             confirmButton = {
                                 Button(
                                     onClick = {
-                                        showConfirmDialogAboutDeleteBoard = false
-                                        viewModel.onEvent(TagEvent.DeleteTag(tag))// Launch image picker after confirmation
+                                        tagToBeDeleted?.let { tag ->
+                                            showConfirmDialogAboutDeleteBoard = false
+                                            viewModel.onEvent(TagEvent.DeleteTag(tag))
+                                            tagToBeDeleted = null
+                                        }
                                     }
                                 ) {
                                     Text("Confirm")
@@ -224,19 +230,19 @@ fun TagCreationScreen(navController: NavHostController, drawerState: DrawerState
                             },
                             dismissButton = {
                                 Button(
-                                    onClick = { showConfirmDialogAboutDeleteBoard = false }
+                                    onClick = {
+                                        showConfirmDialogAboutDeleteBoard = false
+                                        tagToBeDeleted = null
+                                    }
                                 ) {
                                     Text("Cancel")
                                 }
                             }
                         )
                     }
-
                 }
             }
-
         }
-
     }
 }