Index: /trunk/grails-app/services/TaskService.groovy
===================================================================
--- /trunk/grails-app/services/TaskService.groovy	(revision 477)
+++ /trunk/grails-app/services/TaskService.groovy	(revision 478)
@@ -185,4 +185,5 @@
         p.targetStartDate = params.targetStartDate ?: parentTask.targetStartDate
         p.targetCompletionDate = params.targetCompletionDate ?: parentTask.targetCompletionDate
+        p.scheduled = params.scheduled ?:  parentTask.scheduled
 
         p.taskGroup = params.taskGroup ?: parentTask.taskGroup
@@ -194,8 +195,4 @@
         p.associatedAssets = params.associatedAssets ?: new ArrayList(parentTask.associatedAssets) // Collection.
 
-        // Only if supplied, otherwise this would be copying.
-        if(params.scheduled) p.scheduled = params.scheduled
-        if(params.approved) p.approved = params.approved
-
         // Supplied by recurring tasks.
         if(params.taskProcedure) p.taskProcedure = params.taskProcedure
@@ -210,4 +207,14 @@
         // Create the sub task and return the result.
         result = save(p)
+
+        // Approve.
+        if(!result.error && parentTask.approved) {
+            p = [:]
+            p.id = result.taskInstance.id
+            approve(p)
+        }
+
+        // Success.
+        return result
 
     } // end createSubTask()
