 							return docpad.fatal(err)  if err
 							performGenerate(reset:true)
 				next: (err,_watchers) ->
+					if err
+						docpad.log('warn', "Watching the reload paths has failed:", reloadPaths, err)
+						return tasks.complete()
 					for watcher in _watchers
 						watchers.push(watcher)
-					tasks.complete()
+					return tasks.complete()
 			)
 
 			# Watch regenerate paths
+			regeneratePaths = docpad.config.regeneratePaths
 			docpad.watchdir(
-				paths: docpad.config.regeneratePaths
+				paths: regeneratePaths
 				listeners:
 					'log': docpad.log
 					'error': docpad.error
 					'change': -> performGenerate(reset:true)
 				next: (err,_watchers) ->
+					if err
+						docpad.log('warn', "Watching the regenerate paths has failed:", regeneratePaths, err)
+						return tasks.complete()
 					for watcher in _watchers
 						watchers.push(watcher)
-					tasks.complete()
+					return tasks.complete()
 			)
 
 			# Watch the source
+			srcPath = docpad.config.srcPath
 			docpad.watchdir(
-				path: docpad.config.srcPath
+				path: srcPath
 				listeners:
 					'log': docpad.log
 					'error': docpad.error
 					'change': changeHandler
 				next: (err,watcher) ->
+					if err
+						docpad.log('warn', "Watching the src path has failed:", srcPath, err)
+						return tasks.complete()
 					watchers.push(watcher)
-					tasks.complete()
+					return tasks.complete()
 			)
 
 		# Timer


	# Perform a growl notification
	notify: (message,opts) =>
		# Check
		growl = @getGrowlInstance()
		if growl

			tasks.total = 3

			# Watch reload paths
			reloadPaths = _.union(docpad.config.reloadPaths, docpad.config.configPaths)
			docpad.watchdir(
				paths: reloadPaths
				listeners:
					'log': docpad.log
					'error': docpad.error
