diff --git a/ckanext/odsh/harvesters/statistikamtnordharvester.py b/ckanext/odsh/harvesters/statistikamtnordharvester.py
index d38d01caacaa1ff64448f37e16fbd5a8e30d5673..aea0a1ead5c5b63e0afcee95c8dc4a79868e4bd6 100755
--- a/ckanext/odsh/harvesters/statistikamtnordharvester.py
+++ b/ckanext/odsh/harvesters/statistikamtnordharvester.py
@@ -125,19 +125,6 @@ class StatistikamtNordHarvester(ODSHBaseHarvester):
             self.map_fields(context, harvest_object)
             return True
 
-    @staticmethod
-    def _update_schema(schema):
-        schema.update({'temporal_start': [
-            toolkit.get_validator('ignore_empty'),
-            toolkit.get_converter('convert_to_extras')]})
-        schema.update({'temporal_end': [
-            toolkit.get_validator('ignore_empty'),
-            toolkit.get_converter('convert_to_extras')]})
-        schema.update({'issued': [
-            toolkit.get_validator('ignore_missing'),
-            toolkit.get_validator('ignore_empty'),
-            toolkit.get_converter('convert_to_extras')]})
-
     def map_fields(self, context, harvest_object):
         values = json.loads(harvest_object.content)
 
@@ -176,9 +163,7 @@ class StatistikamtNordHarvester(ODSHBaseHarvester):
         try:
             context = {'user': self._get_user_name(), 'return_id_only': True, 'ignore_auth': True}
             package_plugin = lib_plugins.lookup_package_plugin(package_dict.get('type', None))
-            package_schema = package_plugin.create_package_schema()
-            self._update_schema(package_schema)
-            context['schema'] = package_schema
+            context['schema'] = package_plugin.create_package_schema()
             self._handle_current_harvest_object(harvest_object, harvest_object.guid)
             result = toolkit.get_action('package_create')(context, package_dict)
             return result
@@ -190,11 +175,16 @@ class StatistikamtNordHarvester(ODSHBaseHarvester):
     def add_extras(package_dict, values):
         # issued sollte noch geliefert werden!
         package_dict['extras'].append({
-          'key': 'issued', 'value': datetime.datetime.now().isoformat().split('T')[0]})
-        package_dict['extras'].append({
-          'key': 'temporal_start', 'value': values['ZeitraumVon']})
-        package_dict['extras'].append({
-          'key': 'temporal_end', 'value': values['ZeitraumBis']})
+          'key': 'issued', 'value': datetime.datetime.now().isoformat()})
+        try:
+            if values['ZeitraumVon'] != "":
+                package_dict['extras'].append({
+                  'key': 'temporal_start', 'value': values['ZeitraumVon']})
+            if values['ZeitraumBis'] != "":
+                package_dict['extras'].append({
+                  'key': 'temporal_end', 'value': values['ZeitraumBis']})
+        except KeyError as kerr:
+            log.debug("Date not available: " + str(kerr))
         package_dict['extras'].append({
           'key': 'spatial_uri', 'value': 'http://dcat-ap.de/def/politicalGeocoding/stateKey/01'})
         package_dict['extras'].append({
diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py
index 7f79c619a98dd516c359340f6ee4785181e55c5a..0edcd9ebc06c055f7791672b4dc84276c1593b90 100644
--- a/ckanext/odsh/plugin.py
+++ b/ckanext/odsh/plugin.py
@@ -129,14 +129,17 @@ def odsh_validate_extra_date(key, field, data, errors, context):
     value = _extract_value(key, data, field)
 
     if not value:
-        raise toolkit.Invalid(field+':odsh_'+field+'_error_label')
-
-    try:
-        # date.split('T')[0] will yield "2012-01-01"
-        # no matter if the date is like "2012-01-01" or "2012-01-01T00:00:00"
-        datetime.datetime.strptime(value.split('T')[0], '%Y-%m-%d')
-    except ValueError:
-        raise toolkit.Invalid(field+':odsh_'+field+'_not_date_error_label')
+        # Statistikamt Nord does not always provide temporal_start/end,
+        # but their datasets have to be accepted as they are.
+        if data[('id',)][:7] != 'StaNord':
+            raise toolkit.Invalid(field+':odsh_'+field+'_error_label')
+    else:
+        try:
+            # date.split('T')[0] will yield "2012-01-01"
+            # no matter if the date is like "2012-01-01" or "2012-01-01T00:00:00"
+            datetime.datetime.strptime(value.split('T')[0],'%Y-%m-%d').isoformat()
+        except ValueError:
+            raise toolkit.Invalid(field+':odsh_'+field+'_not_date_error_label')
 
 
 def odsh_validate_extra_date_factory(field):