diff --git a/ckanext/odsh/validation.py b/ckanext/odsh/validation.py
index 0c2177f3e9ed6a5a246ee5b6dedbb62d28db475b..e8bd6e0bae0856ad22f6f0476943c7646fe09f28 100644
--- a/ckanext/odsh/validation.py
+++ b/ckanext/odsh/validation.py
@@ -135,8 +135,13 @@ def known_spatial_uri(key, data, errors, context):
     value = _extract_value(data, 'spatial_uri')
 
     if not value:
-        raise toolkit.Invalid('spatial_uri:odsh_spatial_uri_error_label')
-
+        # some harvesters might import a polygon directly...
+        poly = _extract_value(data, 'spatial')
+        if not poly:
+            raise toolkit.Invalid('spatial_uri:odsh_spatial_uri_error_label')
+        else:
+            return 
+                
     mapping_file = config.get('ckanext.odsh.spatial.mapping')
     try:
         mapping_file = urllib2.urlopen(mapping_file)
@@ -206,4 +211,4 @@ def get_validators():
             'known_spatial_uri': known_spatial_uri,
             'odsh_tag_name_validator': tag_name_validator,
             'odsh_validate_extras':validate_extras
-            }
\ No newline at end of file
+            }