diff --git a/node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/ListsSerializationTest.kt b/node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/ListsSerializationTest.kt
index 23b931f651..a5e83e0c01 100644
--- a/node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/ListsSerializationTest.kt
+++ b/node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/ListsSerializationTest.kt
@@ -1,11 +1,15 @@
 package net.corda.nodeapi.internal.serialization
 
+import net.corda.core.serialization.CordaSerializable
 import net.corda.core.serialization.SerializedBytes
 import net.corda.core.serialization.deserialize
 import net.corda.core.serialization.serialize
 import net.corda.node.services.statemachine.SessionData
 import net.corda.testing.TestDependencyInjectionBase
+import net.corda.testing.amqpSpecific
+import org.assertj.core.api.Assertions
 import org.junit.Test
+import java.io.NotSerializableException
 import kotlin.test.assertEquals
 
 class ListsSerializationTest : TestDependencyInjectionBase() {
@@ -30,6 +34,19 @@ class ListsSerializationTest : TestDependencyInjectionBase() {
         }
     }
 
+    @CordaSerializable
+    data class WrongPayloadType(val payload: ArrayList<Int>)
+
+    @Test
+    fun `check throws for forbidden declared type`() = amqpSpecific<ListsSerializationTest>("Such exceptions are not expected in Kryo mode.") {
+        val payload = ArrayList<Int>()
+        payload.add(1)
+        payload.add(2)
+        val wrongPayloadType = WrongPayloadType(payload)
+        Assertions.assertThatThrownBy { wrongPayloadType.serialize() }
+                .isInstanceOf(NotSerializableException::class.java).hasMessageContaining("Cannot derive collection type for declaredType")
+    }
+
     private inline fun<reified T : Any> assertEqualAfterRoundTripSerialization(obj: T) {
 
         val serializedForm: SerializedBytes<T> = obj.serialize()
diff --git a/test-utils/src/main/kotlin/net/corda/testing/CoreTestUtils.kt b/test-utils/src/main/kotlin/net/corda/testing/CoreTestUtils.kt
index 87eb8dd992..73a406d3cf 100644
--- a/test-utils/src/main/kotlin/net/corda/testing/CoreTestUtils.kt
+++ b/test-utils/src/main/kotlin/net/corda/testing/CoreTestUtils.kt
@@ -162,4 +162,10 @@ inline fun <reified T : Any> kryoSpecific(reason: String, function: () -> Unit)
     function()
 } else {
     loggerFor<T>().info("Ignoring Kryo specific test, reason: $reason" )
+}
+
+inline fun <reified T : Any> amqpSpecific(reason: String, function: () -> Unit) = if(AMQP_ENABLED) {
+    function()
+} else {
+    loggerFor<T>().info("Ignoring AMQP specific test, reason: $reason" )
 }
\ No newline at end of file