diff --git a/src/index.js b/src/index.js
index d8fc28f8..51809608 100644
--- a/src/index.js
+++ b/src/index.js
@@ -899,6 +899,11 @@ class MiniCssExtractPlugin {
this.runtimeOptions.linkType
)};`
: "",
+ `if (${RuntimeGlobals.scriptNonce}) {`,
+ Template.indent(
+ `linkTag.nonce = ${RuntimeGlobals.scriptNonce};`
+ ),
+ "}",
`var onLinkComplete = ${runtimeTemplate.basicFunction("event", [
"// avoid mem leaks.",
"linkTag.onerror = linkTag.onload = null;",
diff --git a/test/__snapshots__/nonce.test.js.snap b/test/__snapshots__/nonce.test.js.snap
new file mode 100644
index 00000000..883f60b2
--- /dev/null
+++ b/test/__snapshots__/nonce.test.js.snap
@@ -0,0 +1,37 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`nonce should work when __webpack_nonce__ is defined: DOM 1`] = `
+"
+ style-loader test
+
+
+
+
Body
+
+
+
+
+"
+`;
+
+exports[`nonce should work when __webpack_nonce__ is defined: errors 1`] = `Array []`;
+
+exports[`nonce should work when __webpack_nonce__ is defined: warnings 1`] = `Array []`;
+
+exports[`nonce should work when __webpack_nonce__ is not defined: DOM 1`] = `
+"
+ style-loader test
+
+
+
+