Index: trunk/grails-app/controllers/TaskProcedureDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 811)
+++ trunk/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 812)
@@ -177,3 +177,11 @@
     }
 
+    def listMaintenanceActions = {
+        def l = []
+        MaintenanceAction.list().each {
+            println "$it.id - $it.procedureStepNumber, $it.description, $it.pageRef"
+        }
+        render "Done"
+    }
+
 }
Index: trunk/grails-app/services/TaskProcedureService.groovy
===================================================================
--- trunk/grails-app/services/TaskProcedureService.groovy	(revision 811)
+++ trunk/grails-app/services/TaskProcedureService.groovy	(revision 812)
@@ -77,4 +77,7 @@
                 return fail(code:"default.update.failure")
             }
+
+            // Sort MaintenanceActions.
+            result.taskProcedureInstance.maintenanceActions.sort { p1, p2 -> p1.procedureStepNumber <=> p2.procedureStepNumber }
 
             def r = createRevision(result.taskProcedureInstance)
@@ -149,4 +152,7 @@
             }
 
+            // Sort MaintenanceActions.
+            result.taskProcedureInstance.maintenanceActions.sort { p1, p2 -> p1.procedureStepNumber <=> p2.procedureStepNumber }
+
             def r = createRevision(result.taskProcedureInstance)
             if(r.error)
