diff --git a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/relationships/RelationshipFragment.kt b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/relationships/RelationshipFragment.kt
index 878bbfd918..fe6644c61c 100644
--- a/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/relationships/RelationshipFragment.kt
+++ b/app/src/main/java/org/dhis2/usescases/teiDashboard/dashboardfragments/relationships/RelationshipFragment.kt
@@ -140,8 +140,6 @@ class RelationshipFragment : FragmentGlobalAbstract(), RelationshipView {
                     val uiState by relationShipsViewModel.relationshipsUiState.collectAsState()
                     val relationshipSelectionState by relationShipsViewModel.relationshipSelectionState.collectAsState()
                     val showDeleteConfirmation by relationShipsViewModel.showDeleteConfirmation.collectAsState()
-                    val snackbarMessage =
-                        relationShipsViewModel.snackbarMessage.collectAsState(initial = null)
 
                     when (showMap) {
                         true -> RelationshipMapScreen(savedInstanceState)
@@ -163,7 +161,6 @@ class RelationshipFragment : FragmentGlobalAbstract(), RelationshipView {
                                 )
                             },
                             onRelationShipSelected = relationShipsViewModel::updateSelectedList,
-                            snackbarMessage = snackbarMessage.value,
                         )
                     }
 
diff --git a/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsScreen.kt b/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsScreen.kt
index 86ccec79ce..f14aef4a19 100644
--- a/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsScreen.kt
+++ b/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsScreen.kt
@@ -16,14 +16,15 @@ import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.wrapContentHeight
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.items
-import androidx.compose.material.Scaffold
-import androidx.compose.material.SnackbarHost
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.outlined.Add
 import androidx.compose.material.icons.outlined.Delete
 import androidx.compose.material.icons.outlined.ErrorOutline
-import androidx.compose.material.rememberScaffoldState
 import androidx.compose.material3.Icon
+import androidx.compose.material3.Scaffold
+import androidx.compose.material3.SnackbarDuration
+import androidx.compose.material3.SnackbarHost
+import androidx.compose.material3.SnackbarHostState
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
@@ -79,20 +80,20 @@ fun RelationShipsScreen(
     onCreateRelationshipClick: (RelationshipSection) -> Unit,
     onRelationshipClick: (RelationshipItem) -> Unit,
     onRelationShipSelected: (String) -> Unit,
-    snackbarMessage: String?,
 ) {
-    val scaffoldState = rememberScaffoldState()
-    val snackbarHostState = scaffoldState.snackbarHostState
+    val snackbarHostState = remember { SnackbarHostState() }
 
-    LaunchedEffect(snackbarMessage) {
-        snackbarMessage?.let { message ->
-            snackbarHostState.showSnackbar(message)
+    LaunchedEffect(uiState.snackbarMessage) {
+        uiState.snackbarMessage.collect { message ->
+            snackbarHostState.showSnackbar(
+                message = message,
+                duration = SnackbarDuration.Long
+            )
         }
     }
 
     Scaffold(
-        scaffoldState = scaffoldState,
-        snackbarHost = { SnackbarHost(hostState = snackbarHostState) }
+        snackbarHost = { SnackbarHost(snackbarHostState) }
     ) { contentPadding ->
         LazyColumn(
             modifier = Modifier
@@ -374,7 +375,6 @@ fun RelationShipScreenPreview() {
         onCreateRelationshipClick = {},
         onRelationshipClick = {},
         onRelationShipSelected = {},
-        snackbarMessage = null,
     )
 }
 
diff --git a/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsUiState.kt b/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsUiState.kt
index dc70158f9f..ea4fdbbac0 100644
--- a/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsUiState.kt
+++ b/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsUiState.kt
@@ -1,6 +1,16 @@
 package org.dhis2.tracker.relationships.ui
 
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.SharedFlow
+
 sealed class RelationshipsUiState<out T> {
+    private val _snackbarMessage = MutableSharedFlow<String>()
+    val snackbarMessage: SharedFlow<String> get() = _snackbarMessage
+
+    suspend fun sendSnackbarMessage(message: String) {
+        _snackbarMessage.emit(message)
+    }
+
     data object Loading : RelationshipsUiState<Nothing>()
     data object Empty : RelationshipsUiState<Nothing>()
     data class Success<T>(val data: T) : RelationshipsUiState<T>()
diff --git a/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsViewModel.kt b/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsViewModel.kt
index 79c4bdb416..66ed2203c1 100644
--- a/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsViewModel.kt
+++ b/tracker/src/main/kotlin/org/dhis2/tracker/relationships/ui/RelationshipsViewModel.kt
@@ -3,10 +3,8 @@ package org.dhis2.tracker.relationships.ui
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.MutableSharedFlow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
-import kotlinx.coroutines.flow.asSharedFlow
 import kotlinx.coroutines.flow.asStateFlow
 import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOf
@@ -41,9 +39,6 @@ class RelationshipsViewModel(
     private val _showDeleteConfirmation = MutableStateFlow(false)
     val showDeleteConfirmation = _showDeleteConfirmation.asStateFlow()
 
-    private val _snackbarMessage = MutableSharedFlow<String>()
-    val snackbarMessage = _snackbarMessage.asSharedFlow()
-
     fun refreshRelationships() {
         viewModelScope.launch(dispatcher.io()) {
             getRelationshipsByType()
@@ -162,7 +157,7 @@ class RelationshipsViewModel(
 
     private fun showSnackbar(message: String) {
         viewModelScope.launch {
-            _snackbarMessage.emit(message)
+            _relationshipsUiState.value.sendSnackbarMessage(message)
         }
     }
 }
\ No newline at end of file