Index: uspace/app/sysinst/sysinst.c
===================================================================
--- uspace/app/sysinst/sysinst.c	(revision 9f9d90673202d4ee2c25eac2e8f6499b0c8f1398)
+++ uspace/app/sysinst/sysinst.c	(revision 6d06bbc3a0829fbe3acfa52ab71f7c17bd217eaa)
@@ -629,4 +629,14 @@
 			goto error;
 		}
+
+		/* performing OS upgrade */
+		sysinst->oper = sio_upgrade;
+		if (sysinst->progress != NULL) {
+			(void)ui_label_set_text(sysinst->progress->label,
+			    "Upgrading system. Please wait...");
+			(void)ui_label_paint(sysinst->progress->label);
+			(void)ui_window_set_caption(sysinst->bgwindow,
+			    "System Upgrade");
+		}
 	} else {
 		/* Create installation partition. */
@@ -634,4 +644,7 @@
 		if (rc != EOK)
 			goto error;
+
+		/* performing initial OS installation */
+		sysinst->oper = sio_install;
 	}
 
@@ -1458,5 +1471,10 @@
 	ui_msg_dialog_params_init(&params);
 	params.caption = "Restart System";
-	params.text = "Installation complete. Restart the system?";
+
+	if (sysinst->oper == sio_install)
+		params.text = "Installation complete. Restart the system?";
+	else
+		params.text = "Upgrade complete. Restart the system?";
+
 	params.choice = umdc_ok_cancel;
 	params.flags |= umdf_topmost | umdf_center;
Index: uspace/app/sysinst/sysinst.h
===================================================================
--- uspace/app/sysinst/sysinst.h	(revision 9f9d90673202d4ee2c25eac2e8f6499b0c8f1398)
+++ uspace/app/sysinst/sysinst.h	(revision 6d06bbc3a0829fbe3acfa52ab71f7c17bd217eaa)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2025 Jiri Svoboda
+ * Copyright (c) 2026 Jiri Svoboda
  * All rights reserved.
  *
@@ -54,4 +54,12 @@
 } sysinst_progress_t;
 
+/** Installer operation */
+typedef enum {
+	/** initial OS installation */
+	sio_install,
+	/** OS upgrade */
+	sio_upgrade
+} sysinst_oper_t;
+
 /** System installer. */
 typedef struct {
@@ -63,4 +71,6 @@
 	/** Service ID of destination partition. */
 	sysarg_t psvc_id;
+	/** operation being performed */
+	sysinst_oper_t oper;
 	futil_t *futil;
 	char errmsg[128];
