diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php
index fa70db633a94cb1dec4d2687fbc4736ff23e0553..4f9b4d175df11718912f4a898038ff4a18115dca 100755
--- a/app/controllers/contents/courseware.php
+++ b/app/controllers/contents/courseware.php
@@ -34,6 +34,12 @@ class Contents_CoursewareController extends AuthenticatedController
     {
         Navigation::activateItem('/contents/courseware/projects');
         $this->setProjectsSidebar($action);
+        $this->courseware_root = StructuralElement::getCoursewareUser($this->user->id);
+        if (!$this->courseware_root) {
+            // create initial courseware dataset
+            $new = StructuralElement::createEmptyCourseware($this->user->id, 'user');
+            $this->courseware_root = $new->getRoot();
+        }
 
         $this->elements = $this->getProjects('all');
     }