         @.redraw()
 
     isValid: ->
-        # TODO - check if all google directions are already loaded
+        # check if all google directions are already loaded
+        if Object.keys(@.googleRoueSearchesInProgresss).length
+            return false;
+
         if @.mainMarkers.length > 2
             return true;
 

                mark2.useGoogleDirections = false;
                # ...and tell the user that nothing was found
                _this.displayDirectionsWarning(status)
        )

    displayDirectionsWarning: (status) ->


        # finally ask google
        _this = @
        routeRequestId = Math.random()
        @.googleRoueSearchesInProgresss[routeRequestId] = true;
        @.directionsService.route(request, (response, status) ->
            if status == google.maps.DirectionsStatus.OK
                # write result to local cache
