diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index d8f4648..938937c 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
static void os_reset_session(struct obex_session *os)
{
os_session_mark_aborted(os);
- if (os->service && os->service->reset)
- os->service->reset(os, os->service_data);
if (os->object) {
os->driver->set_io_watch(os->object, NULL, NULL);
os->driver->remove(os->path);
}
+ if (os->service && os->service->reset)
+ os->service->reset(os, os->service_data);
+
if (os->name) {
g_free(os->name);
os->name = NULL;