diff --git a/components/settings/data-management/delete-data.js b/components/settings/data-management/delete-data.js
index 581c881f7408bf797e302697a2f299e4ac6d4008..6af5da3899699fef041615f3457cfa4628f2e338 100644
--- a/components/settings/data-management/delete-data.js
+++ b/components/settings/data-management/delete-data.js
@@ -1,6 +1,7 @@
 import React, { Component } from 'react'
 import RNFS from 'react-native-fs'
 import { Alert, ToastAndroid } from 'react-native'
+import PropTypes from 'prop-types'
 
 import { clearDb, isDbEmpty } from '../../../db'
 import { hasEncryptionObservable } from '../../../local-storage'
@@ -24,6 +25,7 @@ export default class DeleteData extends Component {
   }
 
   onAlertConfirmation = () => {
+    this.props.onStartDeletion()
     if (this.state.isPasswordSet) {
       this.setState({ isConfirmingWithPassword: true })
     } else {
@@ -78,8 +80,9 @@ export default class DeleteData extends Component {
 
   render() {
     const { isConfirmingWithPassword } = this.state
+    const { isDeletingData } = this.props
 
-    if (isConfirmingWithPassword) {
+    if (isConfirmingWithPassword && isDeletingData) {
       return (
         <ConfirmWithPassword
           onSuccess={this.deleteAppData}
@@ -94,4 +97,9 @@ export default class DeleteData extends Component {
       </SettingsButton>
     )
   }
+}
+
+DeleteData.propTypes = {
+  isDeletingData: PropTypes.bool,
+  onStartDeletion: PropTypes.func.isRequired
 }
\ No newline at end of file
diff --git a/components/settings/data-management/index.js b/components/settings/data-management/index.js
index 04a6ccb1c76a1342b78bb38d9428be249688bfe4..bf32d6d1eb036ae049573821b3e3f0560d241b8e 100644
--- a/components/settings/data-management/index.js
+++ b/components/settings/data-management/index.js
@@ -13,7 +13,10 @@ export default class DataManagement extends Component {
 
   constructor(props) {
     super(props)
-    this.state = { isLoading: false }
+    this.state = {
+      isLoading: false,
+      currentAction: null
+    }
   }
 
   startLoading = () => {
@@ -33,7 +36,22 @@ export default class DataManagement extends Component {
     this.endLoading()
   }
 
+  startExport = () => {
+    this.setCurrentAction('export')
+    openShareDialogAndExport()
+  }
+
+  startImport = () => {
+    this.setCurrentAction('import')
+    openImportDialog(this.startImportFlow)
+  }
+
+  setCurrentAction = (action) => {
+    this.setState({ currentAction: action })
+  }
+
   render() {
+    const { currentAction } = this.state
     return (
       <View flex={1}>
         {this.state.isLoading && <AppLoadingView />}
@@ -42,14 +60,14 @@ export default class DataManagement extends Component {
             <View>
               <FramedSegment title={labels.export.button}>
                 <AppText>{labels.export.segmentExplainer}</AppText>
-                <SettingsButton onPress={openShareDialogAndExport}>
+                <SettingsButton onPress={this.startExport}>
                   {labels.export.button}
                 </SettingsButton>
               </FramedSegment>
               <FramedSegment title={labels.import.button}>
                 <AppText>{labels.import.segmentExplainer}</AppText>
                 <SettingsButton
-                  onPress= {() => openImportDialog(this.startImportFlow)}
+                  onPress= {this.startImport}
                 >
                   {labels.import.button}
                 </SettingsButton>
@@ -59,7 +77,10 @@ export default class DataManagement extends Component {
                 last
               >
                 <AppText>{labels.deleteSegment.explainer}</AppText>
-                <DeleteData />
+                <DeleteData
+                  isDeletingData = { currentAction === 'delete' }
+                  onStartDeletion = {() => this.setCurrentAction('delete')}
+                />
               </FramedSegment>
             </View>
           </ScrollView>
@@ -67,4 +88,4 @@ export default class DataManagement extends Component {
       </View>
     )
   }
-}
+}
\ No newline at end of file