diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt
index 8837c89..06711a0 100644
--- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt
+++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt
@@ -642,7 +642,7 @@
 
     fun typeId(type: KotlinType): Int = typeTable[type(type)]
 
-    internal fun type(type: KotlinType): ProtoBuf.Type.Builder {
+    internal fun type(type: KotlinType, isFlexibleBound: Boolean = false): ProtoBuf.Type.Builder {
         val builder = ProtoBuf.Type.newBuilder()
 
         if (type.isError) {
@@ -653,8 +653,8 @@
         if (type.isFlexible()) {
             val flexibleType = type.asFlexibleType()
 
-            val lowerBound = type(flexibleType.lowerBound)
-            val upperBound = type(flexibleType.upperBound)
+            val lowerBound = type(flexibleType.lowerBound, isFlexibleBound = true)
+            val upperBound = type(flexibleType.upperBound, isFlexibleBound = true)
             extension.serializeFlexibleType(flexibleType, lowerBound, upperBound)
             if (useTypeTable()) {
                 lowerBound.flexibleUpperBoundId = typeTable[upperBound]
@@ -682,7 +682,7 @@
                     builder.typeParameter = getTypeParameterId(descriptor)
                 }
 
-                if (type.unwrap() is DefinitelyNotNullType) {
+                if (type.unwrap() is DefinitelyNotNullType && !isFlexibleBound) {
                     metDefinitelyNotNullType = true
                     builder.flags = Flags.getTypeFlags(false, true)
                 }
diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt
index 4064bcf..52b70c1 100644
--- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt
+++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/TypeDeserializer.kt
@@ -22,7 +22,6 @@
 import org.jetbrains.kotlin.types.error.ErrorTypeKind
 import org.jetbrains.kotlin.types.typeUtil.builtIns
 import org.jetbrains.kotlin.utils.addToStdlib.safeAs
-import java.util.*
 
 private val EXPERIMENTAL_CONTINUATION_FQ_NAME = FqName("kotlin.coroutines.experimental.Continuation")
 
@@ -126,7 +125,9 @@
             else ->
                 KotlinTypeFactory.simpleType(attributes, constructor, arguments, proto.nullable).let {
                     if (Flags.DEFINITELY_NOT_NULL_TYPE.get(proto.flags))
-                        DefinitelyNotNullType.makeDefinitelyNotNull(it) ?: error("null DefinitelyNotNullType for '$it'")
+                        DefinitelyNotNullType.makeDefinitelyNotNull(
+                            it, useCorrectedNullabilityForTypeParameters = true
+                        ) ?: error("null DefinitelyNotNullType for '$it'")
                     else
                         it
                 }
