diff --git a/value/src/org/immutables/value/Value.java b/value/src/org/immutables/value/Value.java
index <HASH>..<HASH> 100644
--- a/value/src/org/immutables/value/Value.java
+++ b/value/src/org/immutables/value/Value.java
@@ -714,7 +714,7 @@ public @interface Value {
      * Exception to throw when an immutable object is in an invalid state. The Throwable must have
      * a constructor that takes a single string
      */
-    Class<? extends Exception> throwForInvalidImmutableState() default IllegalStateException.class;
+    Class<? extends RuntimeException> throwForInvalidImmutableState() default IllegalStateException.class;
 
     /**
      * If implementation visibility is more restrictive than visibility of abstract value type, then
changing to runtime exception as there will be error in generated code
if you use non-runtime exception #<I>