diff --git a/app/presenters/packages/conan/package_presenter.rb b/app/presenters/packages/conan/package_presenter.rb
index 709876176109e12a375843268ef92cf141614935..beb4715444d9cea5676d44b5ed3ccaf8f5c92f36 100644
--- a/app/presenters/packages/conan/package_presenter.rb
+++ b/app/presenters/packages/conan/package_presenter.rb
@@ -80,7 +80,7 @@ def map_package_files
       def package_files
         return unless @package
 
-        @package.installable_package_files.preload_conan_file_metadata
+        @package.installable_package_files.without_conan_recipe_revision.preload_conan_file_metadata
       end
       strong_memoize_attr :package_files
 
diff --git a/spec/presenters/packages/conan/package_presenter_spec.rb b/spec/presenters/packages/conan/package_presenter_spec.rb
index ecca9e6e9260aaa12de606e215e82b1a39f728a1..2a0b8b49cf3ba3eb371b2af482e7133d47361d70 100644
--- a/spec/presenters/packages/conan/package_presenter_spec.rb
+++ b/spec/presenters/packages/conan/package_presenter_spec.rb
@@ -41,6 +41,15 @@
     end
   end
 
+  shared_examples 'excludes files with recipe revisions' do
+    context 'when there are files with recipe revisions' do
+      let_it_be(:recipe_revision) { create(:conan_recipe_revision, package: package) }
+      let_it_be(:conan_package_file) { create(:conan_package_file, :conan_recipe_file, package: package, conan_recipe_revision: recipe_revision) }
+
+      it { is_expected.to eq(expected_result) }
+    end
+  end
+
   describe '#recipe_urls' do
     subject { presenter.recipe_urls }
 
@@ -57,6 +66,8 @@
 
       it { is_expected.to eq(expected_result) }
 
+      it_behaves_like 'excludes files with recipe revisions'
+
       context 'when there are multiple channels for the same package' do
         let(:conan_metadatum) { create(:conan_metadatum, package_channel: 'newest') }
         let!(:newest_package) { create(:conan_package, name: package.name, version: package.version, project: project, conan_metadatum: conan_metadatum) }
@@ -97,6 +108,8 @@
       end
 
       it { is_expected.to eq(expected_result) }
+
+      it_behaves_like 'excludes files with recipe revisions'
     end
   end
 
@@ -130,6 +143,8 @@
 
       it { is_expected.to eq(expected_result) }
 
+      it_behaves_like 'excludes files with recipe revisions'
+
       context 'with package_scope of project' do
         # #package_file_url checks for params[:id]
         let(:params) do
@@ -198,6 +213,8 @@
 
       it { is_expected.to eq(expected_result) }
 
+      it_behaves_like 'excludes files with recipe revisions'
+
       context 'when requested with invalid reference' do
         let(:reference) { 'invalid' }