diff --git a/types/react-router/test/WithRouter.tsx b/types/react-router/test/WithRouter.tsx
index 4db65a32bd..5782b08429 100644
--- a/types/react-router/test/WithRouter.tsx
+++ b/types/react-router/test/WithRouter.tsx
@@ -22,3 +22,31 @@ const WithRouterTestFunction = () => (
);
const WithRouterTestClass = () => ;
+
+// union props
+{
+ interface Book {
+ kind: 'book';
+ author: string;
+ }
+
+ interface Magazine {
+ kind: 'magazine';
+ issue: number;
+ }
+
+ type SomethingToRead = (Book | Magazine) & RouteComponentProps;
+
+ const Readable: React.SFC = props => {
+ if (props.kind === 'magazine') {
+ return magazine #{props.issue}
;
+ }
+
+ return magazine #{props.author}
;
+ };
+
+ const RoutedReadable = withRouter(Readable);
+
+ ;
+ ; // $ExpectError
+}