diff --git a/lib/screens/activity.dart b/lib/screens/activity.dart
index 7e768ef8457433910ce94a7c96bb065fc7a6d693..47cd84be7d98aa7c65ad8135db8a20670485a6ba 100644
--- a/lib/screens/activity.dart
+++ b/lib/screens/activity.dart
@@ -1,13 +1,14 @@
 // ignore_for_file: must_be_immutable
 
 import 'package:easy_localization/easy_localization.dart';
-
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/widgets_keys.dart';
 import 'package:flutter/material.dart';
+import 'package:gecko/providers/duniter_indexer.dart';
 import 'package:gecko/widgets/bottom_app_bar.dart';
 import 'package:gecko/widgets/header_profile.dart';
 import 'package:gecko/widgets/history_query.dart';
+import 'package:provider/provider.dart';
 
 class ActivityScreen extends StatelessWidget with ChangeNotifier {
   ActivityScreen({required this.address, required this.avatar, this.username})
@@ -18,19 +19,35 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
 
   @override
   Widget build(BuildContext context) {
-    return Scaffold(
-        appBar: AppBar(
-          elevation: 0,
-          toolbarHeight: 60 * ratio,
-          title: SizedBox(
-            height: 22,
-            child: Text('accountActivity'.tr()),
+    final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: true);
+
+    return WillPopScope(
+      onWillPop: () {
+        duniterIndexer.fetchMoreCursor =
+            duniterIndexer.pageInfo = duniterIndexer.transBC = null;
+        return Future<bool>.value(true);
+      },
+      child: Scaffold(
+          appBar: AppBar(
+            elevation: 0,
+            toolbarHeight: 60 * ratio,
+            leading: IconButton(
+                icon: const Icon(Icons.arrow_back, color: Colors.black),
+                onPressed: () {
+                  duniterIndexer.fetchMoreCursor =
+                      duniterIndexer.pageInfo = duniterIndexer.transBC = null;
+                  Navigator.of(context).pop();
+                }),
+            title: SizedBox(
+              height: 22,
+              child: Text('accountActivity'.tr()),
+            ),
           ),
-        ),
-        bottomNavigationBar: const GeckoBottomAppBar(),
-        body: Column(children: <Widget>[
-          HeaderProfile(address: address, username: username),
-          HistoryQuery(address: address),
-        ]));
+          bottomNavigationBar: const GeckoBottomAppBar(),
+          body: Column(children: <Widget>[
+            HeaderProfile(address: address, username: username),
+            HistoryQuery(address: address),
+          ])),
+    );
   }
 }
diff --git a/lib/widgets/history_query.dart b/lib/widgets/history_query.dart
index ef7728a461abd6382af612fbb9cc3145bac856a3..c1f19e8e5b968c4a3e6fc74b9f4acbc4824bd3e8 100644
--- a/lib/widgets/history_query.dart
+++ b/lib/widgets/history_query.dart
@@ -4,7 +4,7 @@ import 'package:gecko/globals.dart';
 import 'package:gecko/models/queries_indexer.dart';
 import 'package:gecko/models/widgets_keys.dart';
 import 'package:gecko/providers/duniter_indexer.dart';
-import 'package:gecko/widgets/transaction_tile.dart';
+import 'package:gecko/widgets/history_view.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:provider/provider.dart';
 
@@ -116,11 +116,14 @@ class HistoryQuery extends StatelessWidget {
                       child: ListView(
                         key: keyListTransactions,
                         controller: scrollController,
-                        children: <Widget>[historyView(context, result)],
+                        children: <Widget>[HistoryView(result: result)],
                       ),
                     ),
                   ),
                   onNotification: (dynamic t) {
+                    if (duniterIndexer.pageInfo == null) {
+                      duniterIndexer.reload();
+                    }
                     if (t is ScrollEndNotification &&
                         scrollController.position.pixels >=
                             scrollController.position.maxScrollExtent * 0.7 &&
@@ -136,100 +139,4 @@ class HistoryQuery extends StatelessWidget {
       )),
     );
   }
-
-  Widget historyView(context, result) {
-    final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
-    int keyID = 0;
-    const double avatarSize = 200;
-    bool isMigrationPassed = false;
-    List<String> pastDelimiters = [];
-
-    return duniterIndexer.transBC == null
-        ? Column(children: <Widget>[
-            const SizedBox(height: 50),
-            Text(
-              "noTransactionToDisplay".tr(),
-              style: const TextStyle(fontSize: 18),
-            )
-          ])
-        : Column(children: <Widget>[
-            Column(
-                children: duniterIndexer.transBC!.map((repository) {
-              final answer = computeHistoryView(repository);
-              pastDelimiters.add(answer['dateDelimiter']);
-
-              bool isMigrationTime = false;
-              if (answer['isMigrationTime'] && !isMigrationPassed) {
-                isMigrationPassed = true;
-                isMigrationTime = true;
-              }
-
-              return Column(children: <Widget>[
-                if (isMigrationTime)
-                  Padding(
-                    padding: const EdgeInsets.symmetric(vertical: 30),
-                    child: Row(
-                      mainAxisAlignment: MainAxisAlignment.center,
-                      children: [
-                        const Image(
-                            image: AssetImage('assets/party.png'), height: 40),
-                        const SizedBox(width: 40),
-                        Text(
-                          'blockchainStart'.tr(),
-                          style: const TextStyle(
-                              fontSize: 25,
-                              color: Colors.blueAccent,
-                              fontWeight: FontWeight.w500),
-                        ),
-                        const SizedBox(width: 40),
-                        const Image(
-                            image: AssetImage('assets/party.png'), height: 40),
-                      ],
-                    ),
-                  ),
-                // if ((countsDelimiter[answer['dateDelimiter']] ?? 0) >= 1)
-
-                if (pastDelimiters.length == 1 ||
-                    pastDelimiters.length >= 2 &&
-                        !(pastDelimiters[pastDelimiters.length - 2] ==
-                            answer['dateDelimiter']))
-                  Padding(
-                    padding: const EdgeInsets.symmetric(vertical: 30),
-                    child: Text(
-                      answer['dateDelimiter'],
-                      style: const TextStyle(
-                          fontSize: 23,
-                          color: orangeC,
-                          fontWeight: FontWeight.w300),
-                    ),
-                  ),
-                TransactionTile(
-                    keyID: keyID,
-                    avatarSize: avatarSize,
-                    repository: repository,
-                    dateForm: answer['dateForm'],
-                    finalAmount: answer['finalAmount'],
-                    duniterIndexer: duniterIndexer,
-                    context: context),
-              ]);
-            }).toList()),
-            if (result.isLoading && duniterIndexer.pageInfo!['hasPreviousPage'])
-              Row(
-                mainAxisAlignment: MainAxisAlignment.center,
-                children: const <Widget>[
-                  CircularProgressIndicator(),
-                ],
-              ),
-            if (!duniterIndexer.pageInfo!['hasNextPage'])
-              Column(
-                children: <Widget>[
-                  const SizedBox(height: 15),
-                  Text("historyStart".tr(),
-                      textAlign: TextAlign.center,
-                      style: const TextStyle(fontSize: 20)),
-                  const SizedBox(height: 15)
-                ],
-              )
-          ]);
-  }
 }
diff --git a/lib/widgets/history_view.dart b/lib/widgets/history_view.dart
new file mode 100644
index 0000000000000000000000000000000000000000..65ac235915f5b5afc2622eab1890fe69b2319c7b
--- /dev/null
+++ b/lib/widgets/history_view.dart
@@ -0,0 +1,112 @@
+import 'package:easy_localization/easy_localization.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/globals.dart';
+import 'package:gecko/providers/duniter_indexer.dart';
+import 'package:gecko/widgets/transaction_tile.dart';
+import 'package:graphql_flutter/graphql_flutter.dart';
+import 'package:provider/provider.dart';
+
+class HistoryView extends StatelessWidget {
+  const HistoryView({
+    Key? key,
+    required this.result,
+  }) : super(key: key);
+  final QueryResult result;
+
+  @override
+  Widget build(BuildContext context) {
+    final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
+    int keyID = 0;
+    const double avatarSize = 200;
+    bool isMigrationPassed = false;
+    List<String> pastDelimiters = [];
+
+    return duniterIndexer.transBC == null
+        ? Column(children: <Widget>[
+            const SizedBox(height: 50),
+            Text(
+              "noTransactionToDisplay".tr(),
+              style: const TextStyle(fontSize: 18),
+            )
+          ])
+        : Column(children: <Widget>[
+            Column(
+                children: duniterIndexer.transBC!.map((repository) {
+              final answer = computeHistoryView(repository);
+              pastDelimiters.add(answer['dateDelimiter']);
+
+              bool isMigrationTime = false;
+              if (answer['isMigrationTime'] && !isMigrationPassed) {
+                isMigrationPassed = true;
+                isMigrationTime = true;
+              }
+
+              return Column(children: <Widget>[
+                if (isMigrationTime)
+                  Padding(
+                    padding: const EdgeInsets.symmetric(vertical: 30),
+                    child: Row(
+                      mainAxisAlignment: MainAxisAlignment.center,
+                      children: [
+                        const Image(
+                            image: AssetImage('assets/party.png'), height: 40),
+                        const SizedBox(width: 40),
+                        Text(
+                          'blockchainStart'.tr(),
+                          style: const TextStyle(
+                              fontSize: 25,
+                              color: Colors.blueAccent,
+                              fontWeight: FontWeight.w500),
+                        ),
+                        const SizedBox(width: 40),
+                        const Image(
+                            image: AssetImage('assets/party.png'), height: 40),
+                      ],
+                    ),
+                  ),
+                // if ((countsDelimiter[answer['dateDelimiter']] ?? 0) >= 1)
+
+                if (pastDelimiters.length == 1 ||
+                    pastDelimiters.length >= 2 &&
+                        !(pastDelimiters[pastDelimiters.length - 2] ==
+                            answer['dateDelimiter']))
+                  Padding(
+                    padding: const EdgeInsets.symmetric(vertical: 30),
+                    child: Text(
+                      answer['dateDelimiter'],
+                      style: const TextStyle(
+                          fontSize: 23,
+                          color: orangeC,
+                          fontWeight: FontWeight.w300),
+                    ),
+                  ),
+                TransactionTile(
+                    keyID: keyID,
+                    avatarSize: avatarSize,
+                    repository: repository,
+                    dateForm: answer['dateForm'],
+                    finalAmount: answer['finalAmount'],
+                    duniterIndexer: duniterIndexer,
+                    context: context),
+              ]);
+            }).toList()),
+            if (result.isLoading && duniterIndexer.pageInfo!['hasPreviousPage'])
+              Row(
+                mainAxisAlignment: MainAxisAlignment.center,
+                children: const <Widget>[
+                  CircularProgressIndicator(),
+                ],
+              ),
+            if (!duniterIndexer.pageInfo!['hasNextPage'])
+              Column(
+                children: <Widget>[
+                  const SizedBox(height: 15),
+                  Text("historyStart".tr(),
+                      textAlign: TextAlign.center,
+                      style: const TextStyle(fontSize: 20)),
+                  const SizedBox(height: 15)
+                ],
+              )
+          ]);
+  }
+}
\ No newline at end of file