diff --git a/inventory_provider/routes/common.py b/inventory_provider/routes/common.py
index 79d7c481ece2353eacecf284403a132b776281ee..6dda30525fb971c0c46987d62e17846710ef985e 100644
--- a/inventory_provider/routes/common.py
+++ b/inventory_provider/routes/common.py
@@ -22,7 +22,7 @@ def get_bool_request_arg(name, default=False):
     assert isinstance(default, bool)  # sanity, otherwise caller error
     value = request.args.get(name, default=str(default), type=str)
     try:
-        value = strtobool(value)
+        value = bool(strtobool(value))
     except ValueError:
         value = default
     return value
diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index 6d7476e0fd50a2ba20d64b13cea4a2c233555e0e..97145a72eb74d86cf3b0e2c2536f006480a26741 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -1188,7 +1188,7 @@ def _get_services_internal(service_type=None):
     :return: service list, json-serialized to a string
     """
 
-    return_all = common.get_bool_request_arg('all', False)
+    return_all = common.get_bool_request_arg('all', True)
     include_snmp = common.get_bool_request_arg('snmp', False)
 
     def _services():
diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py
index 01e17d43e355a67c24bec94ab878db90f5e4deae..f97ca9552bd7f60fb9c9932d0d450a515428378b 100644
--- a/test/test_general_poller_routes.py
+++ b/test/test_general_poller_routes.py
@@ -161,7 +161,7 @@ def test_gws_indirect_snmp(client):
     assert all('counters' in s['snmp'] for s in response_data)
 
 
-def test_all_services_default(client):
+def test_get_services_default(client):
     rv = client.get(
         '/poller/services',
         headers=DEFAULT_REQUEST_HEADERS)
@@ -171,12 +171,12 @@ def test_all_services_default(client):
     jsonschema.validate(response_data, poller.SERVICES_LIST_SCHEMA)
 
     assert response_data  # test data is non-empty
-    assert all(s['status'] == 'operational' for s in response_data)
+    assert all('snmp' not in s for s in response_data)
 
 
-def test_all_services_all(client):
+def test_get_services_operational(client):
     rv = client.get(
-        '/poller/services?all=1',
+        '/poller/services?all=0',
         headers=DEFAULT_REQUEST_HEADERS)
     assert rv.status_code == 200
     assert rv.is_json
@@ -184,8 +184,7 @@ def test_all_services_all(client):
     jsonschema.validate(response_data, poller.SERVICES_LIST_SCHEMA)
 
     assert response_data  # test data is non-empty
-    assert any(s['status'] != 'operational' for s in response_data)
-    assert all('snmp' not in s for s in response_data)
+    assert all(s['status'] == 'operational' for s in response_data)
 
 
 @pytest.mark.parametrize('service_type', [