diff --git a/Src/Newtonsoft.Json/JsonWriter.cs b/Src/Newtonsoft.Json/JsonWriter.cs
index a6bc5342..e467a71d 100644
--- a/Src/Newtonsoft.Json/JsonWriter.cs
+++ b/Src/Newtonsoft.Json/JsonWriter.cs
@@ -1446,7 +1446,7 @@ namespace Newtonsoft.Json
/// true to release both managed and unmanaged resources; false to release only unmanaged resources.
protected virtual void Dispose(bool disposing)
{
- if (_currentState != State.Closed)
+ if (_currentState != State.Closed && disposing)
{
Close();
}