At first glance this looks like something that should be handled in comment_sources, don't we try to do something similar here:
https://github.com/openscholar/comment_sources/blob/master/comment_sources.module#L224