diff --git a/accept.go b/accept.go
index 47e20b52c373f6757475c86c30b06626f3dfc745..6bed54da0286ed872193044d994b414a599216fa 100644
--- a/accept.go
+++ b/accept.go
@@ -231,8 +231,9 @@ func acceptCompression(r *http.Request, w http.ResponseWriter, mode CompressionM
 		switch ext.name {
 		case "permessage-deflate":
 			return acceptDeflate(w, ext, mode)
-		case "x-webkit-deflate-frame":
-			return acceptWebkitDeflate(w, ext, mode)
+		// Disabled for now, see https://github.com/nhooyr/websocket/issues/218
+		// case "x-webkit-deflate-frame":
+		// 	return acceptWebkitDeflate(w, ext, mode)
 		}
 	}
 	return nil, nil
diff --git a/compress.go b/compress.go
index 57446d01f4fec27d746a79e5ee4cf2db48b4e859..80b46d1c1d390c6bfbc21a727c13827728902744 100644
--- a/compress.go
+++ b/compress.go
@@ -7,6 +7,7 @@ package websocket
 // by safari. See https://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-06
 // It will work the same in every way except that we cannot signal to the peer we
 // want to use no context takeover on our side, we can only signal that they should.
+// It is however currently disabled due to Safari bugs. See https://github.com/nhooyr/websocket/issues/218
 type CompressionMode int
 
 const (