diff --git a/packages/material-ui/src/Stepper/Stepper.js b/packages/material-ui/src/Stepper/Stepper.js
index eb3eb98f17cd4c..bf3260f9477844 100644
--- a/packages/material-ui/src/Stepper/Stepper.js
+++ b/packages/material-ui/src/Stepper/Stepper.js
@@ -84,7 +84,7 @@ function Stepper(props) {
key: index, // eslint-disable-line react/no-array-index-key
...state,
}),
- React.cloneElement(step, { ...controlProps, ...step.props, ...state }),
+ React.cloneElement(step, { ...controlProps, ...state, ...step.props }),
];
});
diff --git a/packages/material-ui/src/Stepper/Stepper.test.js b/packages/material-ui/src/Stepper/Stepper.test.js
index 708ad6bade8684..8f967c9e0cd70b 100644
--- a/packages/material-ui/src/Stepper/Stepper.test.js
+++ b/packages/material-ui/src/Stepper/Stepper.test.js
@@ -199,4 +199,17 @@ describe('', () => {
);
assert.strictEqual(wrapper.find(Step).length, 1);
});
+
+ it('should be able to force a state', () => {
+ const wrapper = shallow(
+
+
+
+
+ ,
+ );
+ assert.strictEqual(wrapper.find('.child-0').props().active, true);
+ assert.strictEqual(wrapper.find('.child-1').props().active, true);
+ assert.strictEqual(wrapper.find('.child-2').props().active, false);
+ });
});