diff --git a/api/src/main/java/org/xnio/ssl/JsseSslConduitEngine.java b/api/src/main/java/org/xnio/ssl/JsseSslConduitEngine.java
index de1ed8d002bf942fac9fe2fd949c5b4316d42d3d..edc31a41f7cfe39de086bea1549140f43ccf00c0 100644
--- a/api/src/main/java/org/xnio/ssl/JsseSslConduitEngine.java
+++ b/api/src/main/java/org/xnio/ssl/JsseSslConduitEngine.java
@@ -903,6 +903,8 @@ final class JsseSslConduitEngine {
      * @throws IOException if an IO exception occurs
      */
     public void closeOutbound() throws IOException {
+        if (isOutboundClosed()) //idempotent
+            return;
         int old = setFlags(WRITE_SHUT_DOWN);
         try {
             if (allAreClear(old, WRITE_SHUT_DOWN)) {
@@ -925,7 +927,7 @@ final class JsseSslConduitEngine {
             if(e instanceof IOException) {
                 throw (IOException) e;
             } else {
-                throw (RuntimeException)e;
+                throw (RuntimeException) e;
             }
         }
     }

