Index: trunk/grails-app/i18n/messages.properties
===================================================================
--- trunk/grails-app/i18n/messages.properties	(revision 815)
+++ trunk/grails-app/i18n/messages.properties	(revision 816)
@@ -163,4 +163,6 @@
 task.assignedPersons.failedToSave=Could not complete operation, as assignedPerson record failed to save.
 tast.taskRecurringSchedule.alreadyExists=This task already has a recurring schedule.
+tast.operationNotPermittedToChangeAssetWithMaintenanceActions=Changing the primaryAsset \
+    on a task with maintenanceActions is not permitted, remove the maintenanceActions first.
 task.targetCompletionDate.before.targetStartDate=The target completion date must be equal to or greater than \
     the target start date.
Index: trunk/grails-app/services/TaskService.groovy
===================================================================
--- trunk/grails-app/services/TaskService.groovy	(revision 815)
+++ trunk/grails-app/services/TaskService.groovy	(revision 816)
@@ -415,4 +415,7 @@
             result.taskInstance.properties = params
 
+            if(result.taskInstance.taskProcedureRevision?.maintenanceActions && result.taskInstance.isDirty('primaryAsset'))
+                return fail(field:'primaryAsset', code:"tast.operationNotPermittedToChangeAssetWithMaintenanceActions")
+
             if(result.taskInstance.hasErrors() || !result.taskInstance.save())
                 return fail(code:"default.update.failure")
