diff --git a/src/if_perl.xs b/src/if_perl.xs
index 9f50a87..55a24c6 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -199,6 +199,9 @@
 # define Perl_gv_stashpv dll_Perl_gv_stashpv
 # define Perl_markstack_grow dll_Perl_markstack_grow
 # define Perl_mg_find dll_Perl_mg_find
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
+#  define Perl_mg_get dll_Perl_mg_get
+# endif
 # define Perl_newXS dll_Perl_newXS
 # define Perl_newSV dll_Perl_newSV
 # define Perl_newSViv dll_Perl_newSViv
@@ -342,6 +345,9 @@
 static void (*Perl_markstack_grow)(pTHX);
 # endif
 static MAGIC* (*Perl_mg_find)(pTHX_ SV*, int);
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
+static int (*Perl_mg_get)(pTHX_ SV*);
+# endif
 static CV* (*Perl_newXS)(pTHX_ char*, XSUBADDR_t, char*);
 static SV* (*Perl_newSV)(pTHX_ STRLEN);
 static SV* (*Perl_newSViv)(pTHX_ IV);
@@ -494,6 +500,9 @@
     {"Perl_gv_stashpv", (PERL_PROC*)&Perl_gv_stashpv},
     {"Perl_markstack_grow", (PERL_PROC*)&Perl_markstack_grow},
     {"Perl_mg_find", (PERL_PROC*)&Perl_mg_find},
+# if (PERL_REVISION == 5) && (PERL_VERSION >= 28)
+    {"Perl_mg_get", (PERL_PROC*)&Perl_mg_get},
+# endif
     {"Perl_newXS", (PERL_PROC*)&Perl_newXS},
     {"Perl_newSV", (PERL_PROC*)&Perl_newSV},
     {"Perl_newSViv", (PERL_PROC*)&Perl_newSViv},
@@ -862,8 +871,8 @@
 {
     if (wp->w_perl_private && perl_interp != NULL)
     {
-    	SV *sv = (SV*)wp->w_perl_private;
-    	D_Save_Sv(sv);
+	SV *sv = (SV*)wp->w_perl_private;
+	D_Save_Sv(sv);
 	sv_setiv(sv, 0);
 	SvREFCNT_dec(sv);
     }
@@ -875,8 +884,8 @@
 {
     if (bp->b_perl_private && perl_interp != NULL)
     {
-    	SV *sv = (SV *)bp->b_perl_private;
-    	D_Save_Sv(sv);
+	SV *sv = (SV *)bp->b_perl_private;
+	D_Save_Sv(sv);
 	sv_setiv(sv, 0);
 	SvREFCNT_dec(sv);
     }
@@ -911,9 +920,8 @@
 
     if (SvRV(sv) == SvRV(rv))
 	SvREFCNT_dec(SvRV(rv));
-    else /* XXX: Not sure if the `else` condition are right
-    	  * Test_SvREFCNT() pass in all case.
-    	  */
+    else // XXX: Not sure if the `else` condition are right
+	 // Test_SvREFCNT() pass in all case.
 	sv_setsv(sv, rv);
 
     return 0;
diff --git a/src/version.c b/src/version.c
index a0f7483..66fabd9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -794,6 +794,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    203,
+/**/
     202,
 /**/
     201,
