diff --git a/gnocchi/rest/aggregates/processor.py b/gnocchi/rest/aggregates/processor.py
index c7e7df949824c05d3a75b809cefa334f99f86d26..9bf3957e80aae0bbb60710cbbaa32b06546c1f45 100644
--- a/gnocchi/rest/aggregates/processor.py
+++ b/gnocchi/rest/aggregates/processor.py
@@ -202,7 +202,8 @@ def aggregated(refs_and_timeseries, operations, from_timestamp=None,
         for sampling in sorted(result, reverse=True):
             granularity, times, values, references = result[sampling]
             if fill == "dropna":
-                pos = ~numpy.isnan(values[0])
+                pos = ~numpy.logical_or(numpy.isnan(values[0]),
+                                        numpy.isinf(values[0]))
                 v = values[0][pos]
                 t = times[pos]
             else:
@@ -221,7 +222,8 @@ def aggregated(refs_and_timeseries, operations, from_timestamp=None,
             granularity, times, values, references = result[sampling]
             for i, ref in enumerate(references):
                 if fill == "dropna":
-                    pos = ~numpy.isnan(values[i])
+                    pos = ~numpy.logical_or(numpy.isnan(values[i]),
+                                            numpy.isinf(values[i]))
                     v = values[i][pos]
                     t = times[pos]
                 else:
diff --git a/gnocchi/tests/functional/gabbits/aggregates-with-resources.yaml b/gnocchi/tests/functional/gabbits/aggregates-with-resources.yaml
index 625819cb3952de37b3a4d0425d18dcf8db05fd6e..c5bcf0418e0b92174b8f531334db9e8c08427768 100644
--- a/gnocchi/tests/functional/gabbits/aggregates-with-resources.yaml
+++ b/gnocchi/tests/functional/gabbits/aggregates-with-resources.yaml
@@ -324,6 +324,57 @@ tests:
         $[0].group:
               id: 2447cd7e-48a6-4c50-a991-6677cc0d00e6
 
+    - name: aggregate and drop infinity from divide by zero
+      POST: /v1/aggregates?details=true
+      data:
+        resource_type: generic
+        search: "user_id = 'A50F549C-1F1C-4888-A71A-2C5473CCCEC1'"
+        operations: "(/ (* 100 (aggregate mean (metric cpu.util mean))) 0 )"
+      response_json_paths:
+        $.references.`len`: 3
+        $.references[/id].[0]: $HISTORY['list resources'].$RESPONSE['$[0]']
+        $.references[/id].[1]: $HISTORY['list resources'].$RESPONSE['$[1]']
+        $.references[/id].[2]: $HISTORY['list resources'].$RESPONSE['$[2]']
+        $.measures.aggregated: []
+
+    - name: aggregate and return infinity from divide by zero
+      POST: /v1/aggregates?details=true&fill=null
+      data:
+        resource_type: generic
+        search: "user_id = 'A50F549C-1F1C-4888-A71A-2C5473CCCEC1'"
+        operations: "(/ (* 100 (aggregate mean (metric cpu.util mean))) 0 )"
+      response_json_paths:
+        $.references.`len`: 3
+        $.references[/id].[0]: $HISTORY['list resources'].$RESPONSE['$[0]']
+        $.references[/id].[1]: $HISTORY['list resources'].$RESPONSE['$[1]']
+        $.references[/id].[2]: $HISTORY['list resources'].$RESPONSE['$[2]']
+        $.measures.aggregated:
+          - ['2015-03-06T14:30:00+00:00', 300.0, .inf]
+          - ['2015-03-06T14:33:57+00:00', 1.0, .inf]
+          - ['2015-03-06T14:34:12+00:00', 1.0, .inf]
+
+    - name: aggregate metric with groupby on project_id and user_id drop infinity
+      POST: /v1/aggregates?groupby=project_id&groupby=user_id&details=true
+      data:
+        resource_type: generic
+        search: "user_id = 'A50F549C-1F1C-4888-A71A-2C5473CCCEC1'"
+        operations: "(/ (* 100 (aggregate mean (metric cpu.util mean))) 0 )"
+      response_json_paths:
+        $.`len`: 2
+        $[0].measures.references.`len`: 2
+        $[0].measures.references[/id].[0]: $HISTORY['list resources'].$RESPONSE['$[0]']
+        $[0].measures.references[/id].[1]: $HISTORY['list resources'].$RESPONSE['$[1]']
+        $[0].measures.measures.aggregated: []
+        $[0].group:
+              user_id: A50F549C-1F1C-4888-A71A-2C5473CCCEC1
+              project_id: c7f32f1f-c5ef-427a-8ecd-915b219c66e8
+        $[1].measures.references.`len`: 1
+        $[1].measures.references[/id].[0]: $HISTORY['list resources'].$RESPONSE['$[2]']
+        $[1].measures.measures.aggregated: []
+        $[1].group:
+              user_id: A50F549C-1F1C-4888-A71A-2C5473CCCEC1
+              project_id: ee4cfc41-1cdc-4d2f-9a08-f94111d80171
+
 # Negative tests
 
     - name: not matching granularity