diff -Nurp Data-Swap-0.08-C1Igky-orig/Swap.xs Data-Swap-0.08-C1Igky/Swap.xs
--- Data-Swap-0.08-C1Igky-orig/Swap.xs	2008-09-12 06:41:59.000000000 -0700
+++ Data-Swap-0.08-C1Igky/Swap.xs	2016-09-07 19:45:22.000000000 -0700
@@ -135,7 +135,7 @@ deref(...)
 	I32 sref;
 	SV *sv;
     PPCODE:
-	sref = (GIMME == G_SCALAR) && (PL_op->op_flags & OPf_REF);
+	sref = (GIMME == G_SCALAR) && (PL_op->op_flags & OPf_MOD);
 	for (i = 0; i < items; i++) {
 		if (!SvROK(ST(i))) {
 			STRLEN z;