diff --git a/src/libs/routes/disciplines.js b/src/libs/routes/disciplines.js
index 3fde7c6e4b7e510049b038bd20a9d40a4a08330a..0d491d79b358589e14c975060a88234d1ed36431 100644
--- a/src/libs/routes/disciplines.js
+++ b/src/libs/routes/disciplines.js
@@ -460,6 +460,7 @@ disciplinesApp.get('/', rqf.parse(), (req, res, next) => {
     if ('discipline' in req.dims) {
         // delete req.filter.discipline;
         delete req.dims.discipline;
+        req.tmp_discipline = true;
 
         req.sql.field('SUM(n_disc)', 'total')
             .field('SUM(n_disc_adequada)', 'total_suitable')
@@ -630,40 +631,41 @@ disciplinesApp.get('/', rqf.parse(), (req, res, next) => {
 		let disciplinesSuitable = [];
 
 		req.result.forEach((r) => {
-			let objNotSuitable = {
-				total: parseInt(r.total) - parseInt(r.total_suitable),
-				suitable: 0,
-                discipline_name: 'Formação não adequada',
-			}
 
-	        let objSuitable = {
-		        total: parseInt(r.total_suitable),
-			    suitable: 1,
-                discipline_name: 'Formação adequada',
+            let obj = {
+                sum_total: 0,
+                sum_suitable: 0
             }
+
 	        Object.keys(r).forEach(k => {
-                if (k !== 'total' && k !== 'total_suitable') {
-                    objNotSuitable[k] = r[k];
-				    objSuitable[k] = r[k];
-				}
+                if (k !== 'total' && k !== 'total_suitable') 
+                    obj[k] = r[k];
 			})
-            if ('discipline' in req.dims){
-                objNotSuitable["sum_total"] = 0;
-                objNotSuitable["sum_suitable"] = 0;
-                objSuitable["sum_total"] = 0;
-                objSuitable["sum_suitable"] = 0;
+
+            if (req.tmp_discipline){
                 Object.keys(r).forEach(k => {
-                    if (/^total_suitable/.test(k)){ // if k starts with total_suitable
-                        objSuitable.sum_suitable += parseInt(r[k]);
-                        objNotSuitable.sum_suitable += parseInt(r[k]);
-                    }
-                    else if (/^total_/.test(k)){
-                        objSuitable.sum_total += parseInt(r[k]);
-                        objNotSuitable.sum_total += parseInt(r[k]);
-                    }
+                    if (/^total_suitable/.test(k)) // if k starts with total_suitable
+                        obj.sum_suitable += parseInt(r[k]);
+                    else if (/^total_/.test(k))
+                        obj.sum_total += parseInt(r[k]);
                 })
+            } else {
+                delete obj.sum_total;
+                delete obj.sum_suitable;
             }
 
+            let objNotSuitable = Object.assign({}, {
+				total: parseInt(r.total) - parseInt(r.total_suitable),
+				suitable: 0,
+                discipline_name: 'Formação não adequada',
+			}, obj)
+
+	        let objSuitable = Object.assign({}, {
+		        total: parseInt(r.total_suitable),
+			    suitable: 1,
+                discipline_name: 'Formação adequada',
+            }, obj)
+
 		    disciplinesNotSuitable.push(objNotSuitable)
 			disciplinesSuitable.push(objSuitable)
 		 })