diff --git a/README.rst b/README.rst
index 0010113..939ad53 100644
--- a/README.rst
+++ b/README.rst
@@ -805,6 +805,21 @@
         - cmd: maas_login_admin
       ...
 
+It is also possible to skip all the machines which are already in
+the "Deployed" state. This is especially useful when you are adding
+new nodes and you don't want to check the already deployed ones.
+This can be enabled by setting in the ``ignore_deployed_machines``
+parameter to ``true`` in reclass.
+
+.. code-block:: bash
+
+    ...
+
+    maas:
+      region:
+        ignore_deployed_machines: true
+      ...
+
 List of available ``req_status`` defined in global variable:
 
 .. code-block:: python
diff --git a/_modules/maas.py b/_modules/maas.py
index cfc0f89..5976d72 100644
--- a/_modules/maas.py
+++ b/_modules/maas.py
@@ -930,8 +930,10 @@
         req_status = kwargs.get("req_status", "Ready")
         to_discover = kwargs.get("machines", None)
         ignore_machines = kwargs.get("ignore_machines", None)
+        ignore_deployed_machines = kwargs.get("ignore_deployed_machines", False)
         attempts = kwargs.get("attempts", 0)
         counter = {}
+        ignored_deployed = []
         if not to_discover:
             try:
                 to_discover = __salt__['config.get']('maas')['region'][
@@ -947,6 +949,9 @@
             for machine in to_discover:
                 for discovered in MachinesStatus.execute()['machines']:
                     if machine == discovered['hostname'] and machine in total:
+                        if ignore_deployed_machines and discovered['status'].lower() == 'deployed':
+                            total.remove(machine)
+                            ignored_deployed.append(machine)
                         if discovered['status'].lower() == req_status.lower():
                             total.remove(machine)
                         elif attempts > 0 and (machine not in counter or counter[machine] < attempts):
@@ -982,8 +987,18 @@
                                 DeployMachines().process()
                                 counter[machine] = 1 if machine not in counter else (counter[machine] + 1)
             if len(total) <= 0:
-                LOG.debug(
-                    "Machines:{} are:{}".format(to_discover, req_status))
+                if len(ignored_deployed) > 0:
+                    for mach in ignored_deployed:
+                        to_discover.remove(mach)
+                    if len(to_discover) > 0:
+                        LOG.debug(
+                        "Machines:{} are:{} and machines:{} were ignored as already deployed.".format(to_discover, req_status, ignored_deployed))
+                    else:
+                        LOG.debug(
+                        "All required machines already exist and were ignored as already deployed:{}".format(ignored_deployed))
+                else:
+                    LOG.debug(
+                        "Machines:{} are:{}".format(to_discover, req_status))
                 return True
             if (timeout - (time.time() - started_at)) <= 0:
                 raise Exception(
diff --git a/maas/machines/wait_for_ready.sls b/maas/machines/wait_for_ready.sls
index 3e8a0f1..dc57e14 100644
--- a/maas/machines/wait_for_ready.sls
+++ b/maas/machines/wait_for_ready.sls
@@ -10,5 +10,6 @@
   - kwargs:
       timeout: {{ region.timeout.ready }}
       attempts: {{ region.timeout.attempts }}
+      ignore_deployed_machines: {{ region.ignore_deployed_machines }}
   - require:
     - cmd: maas_login_admin
diff --git a/maas/map.jinja b/maas/map.jinja
index 9ff5244..350b0e6 100644
--- a/maas/map.jinja
+++ b/maas/map.jinja
@@ -33,6 +33,7 @@
     deployed: 1800
     ready: 900
     attempts: 10
+  ignore_deployed_machines: false
 {%- endload %}
 
 {%- set region = salt['grains.filter_by'](region_defaults, merge=salt['pillar.get']('maas:region', {})) %}
diff --git a/tests/pillar/maas_region.sls b/tests/pillar/maas_region.sls
index e482b61..53e249f 100644
--- a/tests/pillar/maas_region.sls
+++ b/tests/pillar/maas_region.sls
@@ -39,3 +39,4 @@
       deployed: 900
       ready: 900
       attempts: 2
+    ignore_deployed_machines: true
