diff --git a/android/hid.c b/android/hid.c
index 4075ecb..2bc8c06 100644
--- a/android/hid.c
+++ b/android/hid.c
g_io_channel_unref(notification_io);
notification_io = NULL;
- g_io_channel_unref(ctrl_io);
- ctrl_io = NULL;
+ if (ctrl_io) {
+ g_io_channel_shutdown(ctrl_io, TRUE, NULL);
+ g_io_channel_unref(ctrl_io);
+ ctrl_io = NULL;
+ }
- g_io_channel_unref(intr_io);
- intr_io = NULL;
+ if (intr_io) {
+ g_io_channel_shutdown(intr_io, TRUE, NULL);
+ g_io_channel_unref(intr_io);
+ intr_io = NULL;
+ }
}