diff --git a/chrome/content/zotero/xpcom/csl.js b/chrome/content/zotero/xpcom/csl.js
index a147c2a68..d7f194711 100644
--- a/chrome/content/zotero/xpcom/csl.js
+++ b/chrome/content/zotero/xpcom/csl.js
@@ -412,7 +412,7 @@ Zotero.CSL.prototype.formatBibliography = function(itemSet, format) {
// 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(/([^>])(https?:\/\/[^\s]+)([\."'>:\]\)\s])/g, '$1$2$3');
string = string.replace(/(doi:[ ]*)([0-9][^\s]+[0-9])/g, '$1$2');
var span = (coins ? ' ' : '');