diff --git a/gmap_parse_macro.inc b/gmap_parse_macro.inc
index 63b5e75c476576889fe3d958ab0d5a9aebb20dd5..553c2168404c62a3f14e996ad4f3183d62b2218a 100644
--- a/gmap_parse_macro.inc
+++ b/gmap_parse_macro.inc
@@ -218,6 +218,8 @@ function _gmap_parse_macro($instring, $ver = 2) {
       $m['shapes'][] = $s;
     }
     unset($m['polygon']);
+  } elseif (isset($m['polygon']) && !is_array($m['polygon'])) {
+    $value = array($m['polygon']);
   }
 
   // Version 1 -> 2 conversion