 			$select: ['id', 'supervisor_version']
 			$expand: belongs_to__application: $select: 'id'
 		.then (device) ->
-			ensureSupervisorCompatibility(device.supervisor_version, MIN_SUPERVISOR_APPS_API).then ->
-				appId = device.belongs_to__application[0].id
-				return request.send
-					method: 'POST'
-					url: "/supervisor/v1/apps/#{appId}/stop"
-					baseUrl: apiUrl
-					body:
-						deviceId: device.id
-						appId: appId
-					timeout: CONTAINER_ACTION_ENDPOINT_TIMEOUT
+			ensureSupervisorCompatibility(device.supervisor_version, MIN_SUPERVISOR_APPS_API)
+			appId = device.belongs_to__application[0].id
+			return request.send
+				method: 'POST'
+				url: "/supervisor/v1/apps/#{appId}/stop"
+				baseUrl: apiUrl
+				body:
+					deviceId: device.id
+					appId: appId
+				timeout: CONTAINER_ACTION_ENDPOINT_TIMEOUT
 		.get('body')
 		.get('containerId')
 		.asCallback(callback)

			ensureSupervisorCompatibility(
				device.supervisor_version,
				MIN_SUPERVISOR_MC_API
			).then ->
				appId = device.belongs_to__application[0].id
				return request.send
					method: 'POST'
					url: "/supervisor/v2/applications/#{appId}/start-service"
					baseUrl: apiUrl
					body:
						deviceId: device.id
						appId: appId
						data: {
							appId
							imageId
						}
					timeout: CONTAINER_ACTION_ENDPOINT_TIMEOUT
		.asCallback(callback)

	###*

	# @name ensureSupervisorCompatibility
	# @private
	# @function
	#
	# @param {String} version - version under check
	# @param {String} minVersion - minimum accepted version
	# @throws {Error} Will reject if the given version is < than the given minimum version
	# @returns {void}
	#
	# @example
	# ensureSupervisorCompatibility(version, MIN_VERSION)
	# console.log('Is compatible');
	#
	###
	ensureSupervisorCompatibility = (version, minVersion) ->
		if semver.lt(version, minVersion)
			throw new Error("Incompatible supervisor version: #{version} - must be >= #{minVersion}")

