diff --git a/api/src/engine/connectors/datashield/datashield.connector.ts b/api/src/engine/connectors/datashield/datashield.connector.ts
index 05c7acdca7f1f8067c901ccafa8aa2e1d03c318e..1f0cfd9000523cc293962565a26a4762fe6a1d19 100644
--- a/api/src/engine/connectors/datashield/datashield.connector.ts
+++ b/api/src/engine/connectors/datashield/datashield.connector.ts
@@ -260,6 +260,10 @@ export default class DataShieldConnector implements Connector {
       datasets: data.datasets,
       algorithm: {
         name: data.algorithm.id,
+        parameters: data.algorithm.parameters.map((p) => ({
+          name: p.id,
+          value: p.value,
+        })),
       },
     };
 
@@ -320,15 +324,15 @@ export default class DataShieldConnector implements Connector {
       experiment.variables.length > 0 ? experiment.variables[0] : undefined;
 
     const expToInput = {
-      coVariable,
-      variables: experiment.coVariables,
       algorithm: {
         id: experiment.algorithm.name,
+        coVariable,
+        variables: experiment.coVariables,
       },
       datasets: experiment.datasets,
     };
 
-    experiment.algorithm.parameters.forEach((param) => {
+    experiment.algorithm.parameters?.forEach((param) => {
       if (!expToInput.algorithm[param.name]) {
         // FIXME: the parameter should be added in a specific key entry (e.g. expToInput.algorithm.parameters')
         // Should be fixed inside the Datashield API
diff --git a/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.spec.ts b/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.spec.ts
index b6e9dfb0273359a141a01662711b353f360ad1bc..c23fdf2b58af9e2cd0f32f273846937bff113ad4 100644
--- a/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.spec.ts
+++ b/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.spec.ts
@@ -1,4 +1,5 @@
 import { Experiment } from '../../../../models/experiment/experiment.model';
+import { TableResult } from '../../../../models/result/table-result.model';
 import LogisticRegressionHandler from './logistic-regression.handler';
 
 const data = {
@@ -79,12 +80,23 @@ const createExperiment = (): Experiment => ({
 
 describe('Logistic Regression Handler', () => {
   describe('Normal usage', () => {
-    it('should return the correct results', () => {
+    it('should return two TableResult', () => {
       const experiment = createExperiment();
       const handler = new LogisticRegressionHandler();
       handler.handle(experiment, data, []);
 
-      expect(experiment.results).toHaveLength(1);
+      expect(experiment.results).toHaveLength(2);
+
+      const summary = experiment.results[0] as TableResult;
+      const coefs = experiment.results[1] as TableResult;
+
+      expect(coefs.headers.length).toBeGreaterThan(0);
+      expect(coefs.data.length).toBeGreaterThan(0);
+      expect(coefs.data.some((row) => row.some((cell) => !cell)));
+
+      expect(summary.headers.length).toBe(2);
+      expect(summary.data.length).toBeGreaterThan(0);
+      expect(summary.data.some((row) => !row[0] || !row[1])).toBeFalsy();
     });
   });
 });
diff --git a/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.ts b/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.ts
index bd0771deeaad1e497fe93fb5549fc98887aa5f84..4dc980f4f875394216696e83d91f14fb7ed123e9 100644
--- a/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.ts
+++ b/api/src/engine/connectors/datashield/handlers/algorithms/logistic-regression.handler.ts
@@ -9,7 +9,7 @@ const lookupDict = {
   'z-value': 'Z value',
   'p-value': 'P value',
   'low0.95CI.LP': 'Low 95% CI',
-  'high0.95CI': 'High 95% CI',
+  'high0.95CI.LP': 'High 95% CI',
   P_OR: 'P OR',
   'low0.95CI.P_OR': 'Low 95% CI P_OR',
   'high0.95CI.P_OR': 'High 95% CI P OR',
@@ -28,9 +28,9 @@ const properties = [
   'p-value',
   'low0.95CI.LP',
   'high0.95CI.LP',
-  'P_OR',
-  'low0.95CI.P_OR',
-  'high0.95CI.P_OR',
+  // 'P_OR', // What is P_OR? Not defined in the ds' documentation
+  // 'low0.95CI.P_OR',
+  // 'high0.95CI.P_OR',
 ];
 
 const summaryProps = ['iter', 'Nvalid', 'Ntotal', 'df'];
@@ -38,7 +38,8 @@ const summaryProps = ['iter', 'Nvalid', 'Ntotal', 'df'];
 export default class LogisticRegressionHandler extends BaseHandler {
   canHandle(algorithm: string, data: any): boolean {
     return (
-      algorithm.toLowerCase() === 'logistic-regression' && data['coefficients']
+      algorithm.toLowerCase() === 'logistic-regression' &&
+      !!data['coefficients']
     );
   }
 
@@ -75,9 +76,7 @@ export default class LogisticRegressionHandler extends BaseHandler {
     const tableResult = this.getTableResult(data, vars);
     const summaryTable = this.getSummaryTable(data);
 
-    if (tableResult) experiment.results.push(tableResult);
     if (summaryTable) experiment.results.push(summaryTable);
-
-    this.next?.handle(experiment, data, vars);
+    if (tableResult) experiment.results.push(tableResult);
   }
 }
diff --git a/api/src/engine/connectors/datashield/handlers/index.ts b/api/src/engine/connectors/datashield/handlers/index.ts
index 3275a8ea79c49c11a5cf32e8dc41da0f703b0115..9948a2fcf9d6e9a9c6db071210202530a7a418e1 100644
--- a/api/src/engine/connectors/datashield/handlers/index.ts
+++ b/api/src/engine/connectors/datashield/handlers/index.ts
@@ -2,12 +2,14 @@ import { Variable } from 'src/engine/models/variable.model';
 import { Experiment } from '../../../../engine/models/experiment/experiment.model';
 import ErrorAlgorithmHandler from './algorithms/error-algorithm.handler';
 import LinearRegressionHandler from './algorithms/linear-regression.handler';
+import LogisticRegressionHandler from './algorithms/logistic-regression.handler';
 import TerminalAlgorithmHandler from './algorithms/terminal-algorithm.handler';
 
 const start = new ErrorAlgorithmHandler();
 
 start
   .setNext(new LinearRegressionHandler())
+  .setNext(new LogisticRegressionHandler())
   .setNext(new TerminalAlgorithmHandler());
 
 export default (