- double score = c->data[z->src_idx].f;
-
- if (z->mean == SYSMIS || score == SYSMIS)
- c->data[z->dst_idx].f = SYSMIS;
+ double input = case_num (c, z->src_idx);
+ double *output = &case_data_rw (c, z->dst_idx)->f;
+
+ if (z->mean == SYSMIS || z->std_dev == SYSMIS
+ || all_sysmis || input == SYSMIS
+ || (!t->include_user_missing
+ && mv_is_num_user_missing (&z->v->miss, input)))
+ *output = SYSMIS;