diff --git a/MAC/APL/StationCU/src/ClockControl/ClockControl.cc b/MAC/APL/StationCU/src/ClockControl/ClockControl.cc
index 5d4547dd7574f0b0458179807d792755ef059942..2aa9b7a38d46905029adacef4f8d444e78e26e9b 100644
--- a/MAC/APL/StationCU/src/ClockControl/ClockControl.cc
+++ b/MAC/APL/StationCU/src/ClockControl/ClockControl.cc
@@ -713,9 +713,14 @@ GCFEvent::TResult ClockControl::setClock_state(GCFEvent& event,
 	}
 
     case RSP_UPDCLOCK: {
-        CLKCTRLSetClockAckEvent response;
-        response.status = CLKCTRL_NO_ERR;
-        itsLastCommandClient->send(response);
+	if (itsLastCommandClient) {
+		CLKCTRLSetClockAckEvent response;
+		response.status = CLKCTRL_NO_ERR;
+		itsLastCommandClient->send(response);
+        	LOG_DEBUG("Informed client of clock update");
+	} else {
+        	LOG_WARN("Client disconnected, so could not ack clock update");
+	}
         LOG_INFO_STR ("Received clock update, going to operational state");
         TRAN(ClockControl::active_state);				// go to next state.
         return (GCFEvent::NEXT_STATE);
@@ -1213,6 +1218,10 @@ void ClockControl::_disconnectedHandler(GCFPortInterface& port)
 		TRAN (ClockControl::connect2RSP_state);
 	}
 	else {
+		if (&port == itsLastCommandClient) {
+			itsLastCommandClient = 0;
+		}
+
 		itsClientList.remove(&port);
 	}
 }