diff --git a/parquet-hadoop/src/main/java/parquet/hadoop/metadata/CompressionCodecName.java b/parquet-hadoop/src/main/java/parquet/hadoop/metadata/CompressionCodecName.java
index bbbc61f..808beb3 100644
--- a/parquet-hadoop/src/main/java/parquet/hadoop/metadata/CompressionCodecName.java
+++ b/parquet-hadoop/src/main/java/parquet/hadoop/metadata/CompressionCodecName.java
@@ -36,9 +36,6 @@
       return UNCOMPRESSED;
     }
     String name = clazz.getName();
-    if (name.equals("org.apache.hadoop.io.compress.DefaultCodec")) {
-      return GZIP;
-    }
     for (CompressionCodecName codec : CompressionCodecName.values()) {
       if (name.equals(codec.getHadoopCompressionCodecClassName())) {
         return codec;
diff --git a/parquet-hadoop/src/test/java/parquet/hadoop/codec/CodecConfigTest.java b/parquet-hadoop/src/test/java/parquet/hadoop/codec/CodecConfigTest.java
index 03ac687..f7ff73a 100644
--- a/parquet-hadoop/src/test/java/parquet/hadoop/codec/CodecConfigTest.java
+++ b/parquet-hadoop/src/test/java/parquet/hadoop/codec/CodecConfigTest.java
@@ -35,8 +35,8 @@
     shouldUseHadoopFlagToSetCodec(CompressionCodecName.SNAPPY.getHadoopCompressionCodecClassName(), CompressionCodecName.SNAPPY);
     //When codec is unrecognized, use uncompressed
     shouldUseHadoopFlagToSetCodec("unexistedCodec", CompressionCodecName.UNCOMPRESSED);
-    //For default codec, use gzip
-    shouldUseHadoopFlagToSetCodec("org.apache.hadoop.io.compress.DefaultCodec", CompressionCodecName.GZIP);
+    //For unsupported codec, use uncompressed
+    shouldUseHadoopFlagToSetCodec("org.apache.hadoop.io.compress.DefaultCodec", CompressionCodecName.UNCOMPRESSED);
   }
 
   public void shouldUseParquetFlagToSetCodec(String codecNameStr, CompressionCodecName expectedCodec) throws IOException {
