Protect underscore for a global exports object

I have a multi-vendor web page
(http://www.blogher.com/j-k-rowlings-crime-novel-rejected-first-cuckoos-
calling-robett-galbraith?wrap=blogher-topics/entertainment&crumb=13 ).
One of the JS scripts used (livefyre) includes at lines 2298-2301 a
global exports object.

// CommonJS Exports
var exports = exports || {};
exports['compile'] = LF.Handlebars.compile;
exports['compileToString'] = LF.Handlebars.compileToString;

When underscore is loaded by our script it sees the exports object and
at line 58, puts the _ object into the global exports. Our script then
fails as it's expecting _ in its canonical position,.

I've patched this up so that it only attaches _ to exports if exports
is not at the root level (eg, window, in our case). This works in node
using node's variation of the requireJS protocol and on the web if
there's a root exports - I'm not sure about the way underscore is
called from the old version of requireJS which I think is why there is
a fallthrough from module.exports to just exports. Can anyone verify
that this will work in require?