diff --git a/components/lib/splitter/Splitter.js b/components/lib/splitter/Splitter.js
index b99412953b..bbd1dcbe77 100644
--- a/components/lib/splitter/Splitter.js
+++ b/components/lib/splitter/Splitter.js
@@ -21,8 +21,8 @@ export const Splitter = React.memo(
const prevPanelIndex = React.useRef(null);
const [panelSizes, setPanelSizes] = React.useState([]);
const isStateful = props.stateKey != null;
- const childrenLength = props.children && props.children.length;
- const panelSize = (sizes, index) => (index in sizes ? sizes[index] : ((props.children[index] && props.children[index].props.size) || 100) / childrenLength);
+ const childrenLength = (props.children && props.children.length) || 1;
+ const panelSize = (sizes, index) => (index in sizes ? sizes[index] : (props.children && [].concat(props.children)[index].props.size) || 100 / childrenLength);
const [bindDocumentMouseMoveListener, unbindDocumentMouseMoveListener] = useEventListener({ type: 'mousemove', listener: (event) => onResize(event) });
const [bindDocumentMouseUpListener, unbindDocumentMouseUpListener] = useEventListener({
diff --git a/components/lib/splitter/Splitter.spec.js b/components/lib/splitter/Splitter.spec.js
index e10c4856c6..5c1cbe57e9 100644
--- a/components/lib/splitter/Splitter.spec.js
+++ b/components/lib/splitter/Splitter.spec.js
@@ -48,4 +48,26 @@ describe('Splitter', () => {
>,
'Nested'
);
+ snapshot(
+ <>
+