diff --git a/juniper/src/executor_tests/executor.rs b/juniper/src/executor_tests/executor.rs
index 13f4fe78..3357b7b8 100644
--- a/juniper/src/executor_tests/executor.rs
+++ b/juniper/src/executor_tests/executor.rs
@@ -452,6 +452,7 @@ mod propagates_errors_to_nullable_fields {
     graphql_object!(Schema: () |&self| {
         field inner() -> Inner { Inner }
         field inners() -> Vec<Inner> { (0..5).map(|_| Inner).collect() }
+        field nullable_inners() -> Vec<Option<Inner>> { (0..5).map(|_| Some(Inner)).collect() }
     });
 
     graphql_object!(Inner: () |&self| {
@@ -610,8 +611,54 @@ mod propagates_errors_to_nullable_fields {
             errs,
             vec![
                 ExecutionError::new(
-                    SourcePosition::new(10, 0, 10),
-                    &["inner", "nonNullableErrorField"],
+                    SourcePosition::new(11, 0, 11),
+                    &["inners", "nonNullableErrorField"],
+                    FieldError::new("Error for nonNullableErrorField", Value::null()),
+                ),
+            ]);
+    }
+
+    #[test]
+    fn non_null_list_of_nullable() {
+        let schema = RootNode::new(Schema, EmptyMutation::<()>::new());
+        let doc = r"{ nullableInners { nonNullableErrorField } }";
+
+        let vars = vec![].into_iter().collect();
+
+        let (result, errs) = ::execute(doc, None, &schema, &vars, &()).expect("Execution failed");
+
+        println!("Result: {:?}", result);
+
+        assert_eq!(
+            result,
+            graphql_value!({ "nullableInners": [None, None, None, None, None] }));
+
+        assert_eq!(
+            errs,
+            vec![
+                ExecutionError::new(
+                    SourcePosition::new(19, 0, 19),
+                    &["nullableInners", "nonNullableErrorField"],
+                    FieldError::new("Error for nonNullableErrorField", Value::null()),
+                ),
+                ExecutionError::new(
+                    SourcePosition::new(19, 0, 19),
+                    &["nullableInners", "nonNullableErrorField"],
+                    FieldError::new("Error for nonNullableErrorField", Value::null()),
+                ),
+                ExecutionError::new(
+                    SourcePosition::new(19, 0, 19),
+                    &["nullableInners", "nonNullableErrorField"],
+                    FieldError::new("Error for nonNullableErrorField", Value::null()),
+                ),
+                ExecutionError::new(
+                    SourcePosition::new(19, 0, 19),
+                    &["nullableInners", "nonNullableErrorField"],
+                    FieldError::new("Error for nonNullableErrorField", Value::null()),
+                ),
+                ExecutionError::new(
+                    SourcePosition::new(19, 0, 19),
+                    &["nullableInners", "nonNullableErrorField"],
                     FieldError::new("Error for nonNullableErrorField", Value::null()),
                 ),
             ]);