diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
index aa1321c..8473c1a 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
@@ -245,6 +245,7 @@
 				<Tab disabled={isTabsDisabled} tabId={tabIds.SP_LIMITS} data-test-id='sp-limits-tab' title={i18n('SP Limits')}>
 					{selectedTab === tabIds.SP_LIMITS && 
 						<EntitlementPoolsLimits 
+							isReadOnlyMode={isReadOnlyMode}
 							limitType={limitType.SERVICE_PROVIDER} 
 							limitsList={limitsList.filter(item => item.type === limitType.SERVICE_PROVIDER)}
 							selectedLimit={this.state.selectedLimit}
@@ -254,19 +255,33 @@
 				<Tab disabled={isTabsDisabled} tabId={tabIds.VENDOR_LIMITS} data-test-id='vendor-limits-tab' title={i18n('Vendor Limits')}>
 					{selectedTab === tabIds.VENDOR_LIMITS && 
 						<EntitlementPoolsLimits 
+							isReadOnlyMode={isReadOnlyMode}
 							limitType={limitType.VENDOR} 
 							limitsList={limitsList.filter(item => item.type === limitType.VENDOR)}
 							selectedLimit={this.state.selectedLimit}
 							onCloseLimitEditor={() => this.onCloseLimitEditor()}
 							onSelectLimit={limit => this.onSelectLimit(limit)}/>}
 				</Tab>
-				{selectedTab !== tabIds.GENERAL ? 
-					<Button disabled={this.state.selectedLimit} className='add-limit-button' tabId={tabIds.ADD_LIMIT_BUTTON} btnType='link' iconName='plus'>{i18n('Add Limit')}</Button> : 
+				{
+					selectedTab !== tabIds.GENERAL ?
+						<Button
+							disabled={this.state.selectedLimit || isReadOnlyMode}
+							className='add-limit-button'
+							tabId={tabIds.ADD_LIMIT_BUTTON}
+							btnType='link'
+							iconName='plus'>
+							{i18n('Add Limit')}
+						</Button>
+					:
 					<div></div> // Render empty div to not break tabs
 				}
 			</Tabs>
 			<GridSection className='license-model-modal-buttons entitlement-pools-editor-buttons'>
-			{!this.state.selectedLimit && <Button btnType='default' disabled={!this.props.isFormValid} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>}
+				{!this.state.selectedLimit &&
+					<Button btnType='default' disabled={!this.props.isFormValid || isReadOnlyMode} onClick={() => this.submit()} type='reset'>
+						{i18n('Save')}
+					</Button>
+				}
 			<Button btnType={this.state.selectedLimit ? 'default' : 'outline'} onClick={() => this.props.onCancel()} type='reset'>
 				{i18n('Cancel')}
 			</Button>
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
index 647e205..70fb43e 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
@@ -269,7 +269,8 @@
 								limitsList={limitsList.filter(item => item.type === limitType.SERVICE_PROVIDER)}
 								selectedLimit={this.state.selectedLimit}
 								onCloseLimitEditor={() => this.onCloseLimitEditor()}
-								onSelectLimit={limit => this.onSelectLimit(limit)}/>}
+								onSelectLimit={limit => this.onSelectLimit(limit)}
+								isReadOnlyMode={isReadOnlyMode} />}
 					</Tab>
 					<Tab tabId={tabIds.VENDOR_LIMITS} disabled={isTabsDisabled} data-test-id='general-tab' title={i18n('Vendor Limits')}>
 						{selectedTab === tabIds.VENDOR_LIMITS && 
@@ -278,16 +279,29 @@
 								limitsList={limitsList.filter(item => item.type === limitType.VENDOR)}
 								selectedLimit={this.state.selectedLimit}
 								onCloseLimitEditor={() => this.onCloseLimitEditor()}
-								onSelectLimit={limit => this.onSelectLimit(limit)}/>}
+								onSelectLimit={limit => this.onSelectLimit(limit)}
+								isReadOnlyMode={isReadOnlyMode} />}
 					</Tab>
 					{selectedTab !== tabIds.GENERAL ? 
-						<Button disabled={this.state.selectedLimit} className='add-limit-button' tabId={tabIds.ADD_LIMIT_BUTTON} btnType='link' iconName='plus'>{i18n('Add Limit')}</Button> : 
+							<Button
+								className='add-limit-button'
+								tabId={tabIds.ADD_LIMIT_BUTTON}
+								btnType='link'
+								iconName='plus'
+								disabled={this.state.selectedLimit || isReadOnlyMode}>
+								{i18n('Add Limit')}
+							</Button>
+						:
 						<div></div> // Render empty div to not break tabs
 					}
 				</Tabs>
 				
 				<GridSection className='license-model-modal-buttons license-key-group-editor-buttons'>
-					{!this.state.selectedLimit && <Button btnType='default' disabled={!this.props.isFormValid} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>}
+					{!this.state.selectedLimit &&
+						<Button btnType='default' disabled={!this.props.isFormValid || isReadOnlyMode} onClick={() => this.submit()} type='reset'>
+							{i18n('Save')}
+						</Button>
+					}
 					<Button btnType={this.state.selectedLimit ? 'default' : 'outline'} onClick={() => this.props.onCancel()} type='reset'>
 						{i18n('Cancel')}
 					</Button>
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx
index d4b7e5c..110e513 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx
@@ -179,7 +179,7 @@
 						</GridItem>
 					</GridSection>
 					<GridSection className='limit-editor-buttons'>
-						<Button btnType='outline'  disabled={!isFormValid} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>
+						<Button btnType='outline' disabled={!isFormValid || isReadOnlyMode} onClick={() => this.submit()} type='reset'>{i18n('Save')}</Button>
 						<Button btnType='outline' color='gray' onClick={onCancel} type='reset'>{i18n('Cancel')}</Button>
 					</GridSection>
 				</Form>
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/Limits.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/Limits.jsx
index b144f63..4841d03 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/Limits.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/Limits.jsx
@@ -61,10 +61,9 @@
 		}
 		return (
 			<div className='license-model-limits-view'>
-				<ListEditorView
-					isReadOnlyMode={isReadOnlyMode}>
+				<ListEditorView isReadOnlyMode={isReadOnlyMode}>
 					{this.props.selectedLimit === NEW_LIMIT_TEMP_ID && limitEditor.data &&
-						<LimitEditor limitsNames={limitsNames} onCancel={onCloseLimitEditor} onSubmit={ () => this.submit()}/>
+						<LimitEditor limitsNames={limitsNames} onCancel={onCloseLimitEditor} onSubmit={ () => this.submit()} isReadOnlyMode={isReadOnlyMode}/>
 					}
 					{limitsList.length === 0 && !limitEditor.data && <div className='no-limits-text'>{i18n('There are no limits')}</div>}
 					{limitsList.map(limit =>
@@ -75,7 +74,13 @@
 							clickable={!selectedLimit}
 							isReadOnlyMode={isReadOnlyMode}
 							limit={limit}/>
-						{limit.id === selectedLimit &&  limitEditor.data && <LimitEditor limitsNames={limitsNames} onCancel={onCloseLimitEditor} onSubmit={ () => this.submit()}/>}
+						{limit.id === selectedLimit &&  limitEditor.data &&
+							<LimitEditor
+								limitsNames={limitsNames}
+								onCancel={onCloseLimitEditor}
+								onSubmit={ () => this.submit()}
+								isReadOnlyMode={isReadOnlyMode} />
+						}
 					</div> )}
 				</ListEditorView>
 
