diff --git a/channels/chan_local.c b/channels/chan_local.c
index 69ed0c9b628d4c2431121732d6794a16af6b8d2a..56c3c64a23eb1dc7aca345c63d486e277388a21e 100755
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -189,6 +189,15 @@ static int local_digit(struct ast_channel *ast, char digit)
 static int local_call(struct ast_channel *ast, char *dest, int timeout)
 {
 	struct local_pvt *p = ast->pvt->pvt;
+
+	if (p->owner->callerid)
+		p->chan->callerid = strdup(p->owner->callerid);
+	else
+		p->chan->callerid = NULL;
+	if (p->owner->ani)
+		p->chan->ani = strdup(p->owner->ani);
+	else
+		p->chan->ani = NULL;
 	/* Start switch on sub channel */
 	return ast_pbx_start(p->chan);
 }