- /* Call completion callback */
- connauth->completion(connauth, FALSE, connauth->context);
+ silc_packet_stream_unlink(connauth->ske->stream,
+ &silc_connauth_stream_cbs, connauth);
+ silc_schedule_task_del_by_context(silc_fsm_get_schedule(fsm), connauth);
+
+ /* Call completion callback */
+ connauth->completion(connauth, FALSE, connauth->context);
+ return SILC_FSM_FINISH;
+ }