diff --git a/chrome/content/zotero/xpcom/csl.js b/chrome/content/zotero/xpcom/csl.js
index 69e4459957..a147c2a685 100644
--- a/chrome/content/zotero/xpcom/csl.js
+++ b/chrome/content/zotero/xpcom/csl.js
@@ -407,6 +407,14 @@ Zotero.CSL.prototype.formatBibliography = function(itemSet, format) {
if(format == "HTML") {
var coins = Zotero.OpenURL.createContextObject(item.zoteroItem, "1.0");
+ // Wrap URLs in links, in a very unsophisticated manner
+ //
+ // This should be done earlier when the data is still in variables
+ //
+ // Ignore URLs preceded by '>', since these are likely already links
+ string = string.replace(/([^>])(https?:\/\/[^\s]+)([\.">:])/g, '$1$2$3');
+ string = string.replace(/(doi:[ ]*)([0-9][^\s]+[0-9])/g, '$1$2');
+
var span = (coins ? ' ' : '');
if(this.class == "note" && isCitation) {