diff --git a/systray.go b/systray.go
index 1507ff6a1314e04443b05764a099723a6dbd2506..1281a77653c2cd2b6855c62a135e0e8ff22200a4 100644
--- a/systray.go
+++ b/systray.go
@@ -105,14 +105,17 @@ func (bt *bmTray) onReady() {
 
 			case <-bt.mTurnOn.ClickedCh:
 				log.Println("on")
+				bt.changeStatus("starting")
 				bt.bm.StartVPN(provider)
 				bt.conf.setUserStoppedVPN(false)
 			case <-bt.mTurnOff.ClickedCh:
 				log.Println("off")
+				bt.changeStatus("stopping")
 				bt.bm.StopVPN()
 				bt.conf.setUserStoppedVPN(true)
 			case <-bt.mCancel.ClickedCh:
 				log.Println("cancel")
+				bt.changeStatus("stopping")
 				bt.bm.StopVPN()
 				bt.conf.setUserStoppedVPN(true)