diff --git a/Sources/ContactFeature/Controllers/NicknameController.swift b/Sources/ContactFeature/Controllers/NicknameController.swift
index 1eb0dc07a367e9f719ea0cebb652193e491dad92..154b801fc594addee9377e62f010557d5679504f 100644
--- a/Sources/ContactFeature/Controllers/NicknameController.swift
+++ b/Sources/ContactFeature/Controllers/NicknameController.swift
@@ -52,8 +52,10 @@ public final class NicknameController: UIViewController {
       .saveButton
       .publisher(for: .touchUpInside)
       .sink { [unowned self] in
-        dismiss(animated: true)
-        completion(viewModel.getInput())
+        dismiss(animated: true) { [weak self] in
+          guard let self else { return }
+          self.completion(self.viewModel.getInput())
+        }
       }.store(in: &cancellables)
   }
 }
diff --git a/Sources/ContactFeature/ViewModels/NicknameViewModel.swift b/Sources/ContactFeature/ViewModels/NicknameViewModel.swift
index 801a58657f8f39552308afac0cf93e9a2462c710..f84d82a81d9b2a9153169efff9e32d41484fb532 100644
--- a/Sources/ContactFeature/ViewModels/NicknameViewModel.swift
+++ b/Sources/ContactFeature/ViewModels/NicknameViewModel.swift
@@ -26,8 +26,7 @@ final class NicknameViewModel {
   }
 
   func didInput(_ string: String) {
-    let input = stateSubject.value.input
-      .trimmingCharacters(in: .whitespacesAndNewlines)
+    let input = string.trimmingCharacters(in: .whitespacesAndNewlines)
 
     stateSubject.value.input = input
     stateSubject.value.status = input.count >= 1 ?