diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py
index 7d649cbcede778ab01f2518d845cc076a848727e..8da2d94b7c653a36145e01790e42c5c5566788f3 100644
--- a/ckanext/odsh/plugin.py
+++ b/ckanext/odsh/plugin.py
@@ -91,6 +91,7 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
         # Harvest
         bp_harvest = harvest.blueprint
         bp_harvest.add_url_rule(u'/harvest', view_func=harvest.search, strict_slashes=False)
+        bp_harvest.add_url_rule(u'/harvest/<id>', view_func=harvest.read)
         bp_harvest.add_url_rule(u'/harvest/about/<id>', view_func=harvest.about)
         bp_harvest.add_url_rule(u'/harvest/new', view_func=harvest.new)
 
diff --git a/ckanext/odsh/views/harvest.py b/ckanext/odsh/views/harvest.py
index eee970934d067f644d9b41f7b4a7573debd539d1..c9c3d78813212be6e2c161cd399227322255a3b4 100644
--- a/ckanext/odsh/views/harvest.py
+++ b/ckanext/odsh/views/harvest.py
@@ -15,7 +15,15 @@ def new():
 
     if not is_sysadmin:
         toolkit.abort(403)
-    return dataset.CreateView.as_view(str(u'new'))('harvest')
+    return dataset.CreateView.as_view(str(u'new'))(u'harvest')
+
+def read(id):
+    log.debug("views.harvest::read")
+    is_sysadmin = authz.is_sysadmin(g.user)
+
+    if not is_sysadmin:
+        toolkit.abort(403)
+    return dataset.read(u'harvest', id)
 
 def search():
     log.debug("views.harvest::search")
@@ -23,7 +31,7 @@ def search():
 
     if not is_sysadmin:
         toolkit.abort(403)
-    return dataset.search('harvest')
+    return dataset.search(u'harvest')
 
 def about(id):
     log.debug("views.harvest::about")