diff --git a/amp.module b/amp.module
index 3792dba..45677ee 100644
--- a/amp.module
+++ b/amp.module
@@ -665,23 +665,24 @@ function amp_node_view($node, $view_mode, $langcode) {
     $metadata_json['mainEntityOfPage'] = url($main_uri['path'], $main_uri['options']);

     foreach ($amp_metadata_type_fields as $name => $values) {
+      $amp_metadata_config = $metadata['amp_metadata_config_' . $name] ?? NULL;
       if ($values['type'] == 'schema') {
-        $metadata_json['@type'] = $metadata['amp_metadata_config_' . $name];
+        $metadata_json['@type'] = $amp_metadata_config;
       }
       elseif ($values['type'] == 'text') {
-        $metadata_json[$name] = $metadata['amp_metadata_config_' . $name];
+        $metadata_json[$name] = $amp_metadata_config;
       }
       elseif ($values['type'] == 'date') {
-        $metadata_json[$name] = $metadata['amp_metadata_config_' . $name];
+        $metadata_json[$name] = $amp_metadata_config;
       }
       elseif ($values['type'] == 'Person') {
         $metadata_json[$name] = array(
           '@type' => 'Person',
-          'name' => $metadata['amp_metadata_config_' . $name],
+          'name' => $amp_metadata_config,
         );
       }
-      elseif ($values['type'] == 'ImageObject') {
-        $image_url = token_replace($metadata['amp_metadata_config_' . $name], array('node' => $node));
+      elseif ($values['type'] == 'ImageObject' && !empty($amp_metadata_config)) {
+        $image_url = token_replace($amp_metadata_config, array('node' => $node));

         // Provide backup parsing of image element if token does not output a URL.
         if (strip_tags($image_url) != $image_url) {
@@ -750,7 +751,7 @@ function amp_node_view($node, $view_mode, $langcode) {

     // Replace the tokens.
     array_walk_recursive($metadata_json, function(&$value) use ($node) {
-      $value = strip_tags(token_replace($value, ['node' => $node]));
+      $value = strip_tags(token_replace($value ?? '', ['node' => $node]));
       $value = str_replace("\n", "", $value);
       $value = str_replace("\r", "", $value);
     });