diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 364b278767284d39adc83bc6c9910e66c55e55f8..e8236d27bfbec151ed74ca0d133099b9aff4209b 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3121,7 +3121,8 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, const char *tit
 	for (v = i->chanvars ; v ; v = v->next)
 		pbx_builtin_setvar_helper(tmp,v->name,v->value);
 
-	append_history(i, "NewChan", "Channel %s - from %s", tmp->name, i->callid);
+	if (recordhistory)
+		append_history(i, "NewChan", "Channel %s - from %s", tmp->name, i->callid);
 				
 	return tmp;
 }
@@ -10791,7 +10792,7 @@ static const char *gettag(const struct sip_request *req, char *header, char *tag
 		if (sep)
 			*sep = '\0';
 	}
-	return thetag;	/* XXX maybe this should be tagbuf instead ? */
+	return tagbuf;
 }
 
 /*! \brief Handle incoming notifications */