diff -bu Params-Classify-0.013-i4hqel/lib/Params/Classify.xs~ Params-Classify-0.013-i4hqel/lib/Params/Classify.xs --- Params-Classify-0.013-i4hqel/lib/Params/Classify.xs~ 2010-11-16 21:35:47.000000000 +0100 +++ Params-Classify-0.013-i4hqel/lib/Params/Classify.xs 2016-09-27 23:19:29.000000000 +0200 @@ -610,7 +610,13 @@ SV *rv = cSVOPx_sv(rvop); return SvROK(rv) ? (CV*)SvRV(rv) : NULL; } break; - case OP_GV: return GvCV(cGVOPx_gv(rvop)); + case OP_GV: { + SV *cv = cSVOPx_sv(rvop); + return (SvTYPE(cv) == SVt_PVCV) + ? (CV*)cv + : (SvROK(cv) + ? (CV*)SvRV(cv) : GvCV((GV*)cv)); + } default: return NULL; } }