switch byte(t) & 0x0f {
        case STOP:
                return STOP, nil
-       case COMPACT_BOOLEAN_FALSE:
-       case COMPACT_BOOLEAN_TRUE:
+       case COMPACT_BOOLEAN_FALSE, COMPACT_BOOLEAN_TRUE:
                return BOOL, nil
        case COMPACT_BYTE:
                return BYTE, nil
 
        var protocol_factories map[string]ProtocolFactory
        protocol_factories = make(map[string]ProtocolFactory)
        protocol_factories["Binary"] = NewTBinaryProtocolFactoryDefault()
-//     protocol_factories["Compact"] = NewTCompactProtocolFactory() - not working right now, see THRIFT-2158 
+       protocol_factories["Compact"] = NewTCompactProtocolFactory()
        //protocol_factories["SimpleJSON"] = NewTSimpleJSONProtocolFactory() - write only, can't be read back by design
        protocol_factories["JSON"] = NewTJSONProtocolFactory()