diff --git a/swh/lister/cran/lister.py b/swh/lister/cran/lister.py
--- a/swh/lister/cran/lister.py
+++ b/swh/lister/cran/lister.py
@@ -97,11 +97,12 @@
         logger.debug('repo: %s', repo)
         project_url = compute_package_url(repo)
         package = repo['Package']
+        version = repo['Version']
         return {
-            'uid': package,
+            'uid': f'{package}-{version}',
             'name': package,
             'full_name': repo['Title'],
-            'version': repo['Version'],
+            'version': version,
             'html_url': project_url,
             'origin_url': project_url,
             'origin_type': 'tar',
diff --git a/swh/lister/cran/tests/test_lister.py b/swh/lister/cran/tests/test_lister.py
--- a/swh/lister/cran/tests/test_lister.py
+++ b/swh/lister/cran/tests/test_lister.py
@@ -55,3 +55,10 @@
 
         assert row['policy'] == 'oneshot'
         assert row['retries_left'] == 3
+
+        origin_url = kwargs['url']
+        record = lister.db_session \
+            .query(lister.MODEL) \
+            .filter(origin_url == origin_url).first()
+        assert record
+        assert record.uid == f'{record.name}-{record.version}'