Index: main/plugin-odf-web/src/org/ametys/plugins/odfweb/OdfURIResolver.java
===================================================================
--- main/plugin-odf-web/src/org/ametys/plugins/odfweb/OdfURIResolver.java	(revision 36748)
+++ main/plugin-odf-web/src/org/ametys/plugins/odfweb/OdfURIResolver.java	(working copy)
@@ -193,7 +193,7 @@
                 
                 Course parentCourse = _resolver.resolveById(path[index - 1]);
                 Page parentCoursePage = _odfResolver.getCoursePage(parentCourse, path[index], currentSite);
-                if (parentCoursePage != null)
+                if (parentCoursePage != null && odfRoot != null)
                 {
                     pagePath = parentCoursePage.getPathInSitemap().substring(odfRoot.getPathInSitemap().length() + 1);
                 }
@@ -209,7 +209,7 @@
                 
                 Course parentCourse = _resolver.resolveById(path[index - 1]);
                 Page parentCoursePage = _odfResolver.getCoursePage(parentCourse, program.getId(), currentSite);
-                if (parentCoursePage != null)
+                if (parentCoursePage != null && odfRoot != null)
                 {
                     pagePath = parentCoursePage.getPathInSitemap().substring(odfRoot.getPathInSitemap().length() + 1);
                 }
@@ -222,7 +222,7 @@
                 odfRoot = _odfPageHandler.getOdfRootPage(currentSite, course.getLanguage());
                 
                 Page parentCoursePage = _odfResolver.getCoursePage((Course) parent, null, currentSite);
-                if (parentCoursePage != null)
+                if (parentCoursePage != null && odfRoot != null)
                 {
                     pagePath = parentCoursePage.getPathInSitemap().substring(odfRoot.getPathInSitemap().length() + 1);
                 }
@@ -242,7 +242,10 @@
                 index--;
             }
             
-            return _resolver.resolveById("course://" + pagePath + "?rootId=" + odfRoot.getId() + "&courseId=" + course.getId());
+            if (odfRoot != null)
+            {
+                return _resolver.resolveById("course://" + pagePath + "?rootId=" + odfRoot.getId() + "&courseId=" + course.getId());
+            }
         }
         else if (path.length == 2)
         {
@@ -258,12 +261,15 @@
                 odfRoot = _odfPageHandler.getOdfRootPage(currentSite, course.getLanguage());
                 
                 Page parentCoursePage = _odfResolver.getCoursePage((Course) parent, null, currentSite);
-                if (parentCoursePage != null)
+                if (parentCoursePage != null && odfRoot != null)
                 {
                     pagePath = parentCoursePage.getPathInSitemap().substring(odfRoot.getPathInSitemap().length() + 1);
                 }
                 
-                return _resolver.resolveById("course://" + pagePath + "?rootId=" + odfRoot.getId() + "&courseId=" + course.getId());
+                if (odfRoot != null)
+                {
+                    return _resolver.resolveById("course://" + pagePath + "?rootId=" + odfRoot.getId() + "&courseId=" + course.getId());
+                }
             }
         }
         else
@@ -271,6 +277,10 @@
             // [courseContent://UUID1]
             return _odfResolver.getCoursePage(course, null, currentSite);
         }
+        
+        // ODF-1122If ODFURIResolver without odf root page
+        // Then return null
+        return null;
     }
     
     /**