diff --git a/app/javascript/src/scenes/SettingsPage/index.jsx b/app/javascript/src/scenes/SettingsPage/index.jsx
index 82f300155..92ebc9a18 100644
--- a/app/javascript/src/scenes/SettingsPage/index.jsx
+++ b/app/javascript/src/scenes/SettingsPage/index.jsx
@@ -24,8 +24,9 @@ import SettingsTeam from "./scenes/team";
 import SettingsNewTeam from "./scenes/teams/new";
 
 type State = {
-  active: string
-}
+  active: string,
+  teamsTableSizePerPage: number
+};
 
 let componentMounted = false;
 
@@ -34,10 +35,12 @@ export default class SettingsPage extends Component<*, State> {
     super(props);
 
     this.state = {
-      active: "1"
+      active: "1",
+      teamsTableSizePerPage: 10
     };
     (this: any).handleSelect = this.handleSelect.bind(this);
     (this: any).setTabState = this.setTabState.bind(this);
+    (this: any).teamsTableOnSizePerPageList = this.teamsTableOnSizePerPageList.bind(this);
   }
 
   componentDidMount(): void {
@@ -54,6 +57,10 @@ export default class SettingsPage extends Component<*, State> {
     }
   }
 
+  teamsTableOnSizePerPageList(teamsTableSizePerPage: number): void {
+    (this: any).setState({ teamsTableSizePerPage });
+  }
+
   handleSelect(eventKey: string): void {
     event.preventDefault();
     (this: any).setState({ active: eventKey });
@@ -108,7 +115,12 @@ export default class SettingsPage extends Component<*, State> {
             <Route
               path={SETTINGS_TEAMS_ROUTE}
               component={props => (
-                <SettingsTeams {...props} tabState={this.setTabState} />
+                <SettingsTeams
+                  {...props}
+                  tabState={this.setTabState}
+                  sizePerPage={this.state.teamsTableSizePerPage}
+                  onSizePerPageList={this.teamsTableOnSizePerPageList}
+                />
               )}
             />
             <Route
diff --git a/app/javascript/src/scenes/SettingsPage/scenes/teams/components/TeamsDataTable.jsx b/app/javascript/src/scenes/SettingsPage/scenes/teams/components/TeamsDataTable.jsx
index 19bb229b3..a24f9f6ac 100644
--- a/app/javascript/src/scenes/SettingsPage/scenes/teams/components/TeamsDataTable.jsx
+++ b/app/javascript/src/scenes/SettingsPage/scenes/teams/components/TeamsDataTable.jsx
@@ -20,13 +20,15 @@ const DefaultTeam = {
 
 type Props = {
   updateTeamsState: Function,
-  teams: Array<Teams$Team>
-}
+  teams: Array<Teams$Team>,
+  sizePerPage: number,
+  onSizePerPageList: Function
+};
 
 type State = {
   leaveTeamModalShow: boolean,
   team: Teams$Team
-}
+};
 
 class TeamsDataTable extends Component<Props, State> {
   constructor(props: Props) {
@@ -73,6 +75,8 @@ class TeamsDataTable extends Component<Props, State> {
       defaultSortName: "name",
       defaultSortOrder: "desc",
       sizePerPageList: [10, 25, 50, 100],
+      sizePerPage: this.props.sizePerPage,
+      onSizePerPageList: this.props.onSizePerPageList,
       prePage: "Prev", // Previous page button text
       nextPage: "Next", // Next page button textu
       paginationShowsTotal: DataTable.renderShowsTotal,
diff --git a/app/javascript/src/scenes/SettingsPage/scenes/teams/index.jsx b/app/javascript/src/scenes/SettingsPage/scenes/teams/index.jsx
index 4923908ec..5f3832b50 100644
--- a/app/javascript/src/scenes/SettingsPage/scenes/teams/index.jsx
+++ b/app/javascript/src/scenes/SettingsPage/scenes/teams/index.jsx
@@ -20,7 +20,9 @@ const Wrapper = styled.div`
 `;
 
 type Props = {
-  tabState: Function
+  tabState: Function,
+  sizePerPage: number,
+  onSizePerPageList: Function
 };
 
 type State = {
@@ -70,6 +72,8 @@ class SettingsTeams extends Component<Props, State> {
           <TeamsDataTable
             teams={this.state.teams}
             updateTeamsState={this.updateTeamsState}
+            sizePerPage={this.props.sizePerPage}
+            onSizePerPageList={this.props.onSizePerPageList}
           />
         </Wrapper>
       </PageTitle>