diff --git a/channel.c b/channel.c
index 38aa92083f2f98de4b4dc36b6e223a7889500469..54027e457ee27c65cf3ed5af97a9fa46ac31c474 100644
--- a/channel.c
+++ b/channel.c
@@ -329,6 +329,7 @@ int ast_channel_register(const struct ast_channel_tech *tech)
 		ast_mutex_unlock(&chlock);
 		return -1;
 	}
+	chan->tech = tech;
 	AST_LIST_INSERT_HEAD(&backends, chan, list);
 
 	if (option_debug)