diff --git a/pes_to_spec/model.py b/pes_to_spec/model.py
index e367349f9da046f8c006ddf8bfa48561d4002779..ee8088ca120e677bbc0ff69cb4c6206df50c1e00 100644
--- a/pes_to_spec/model.py
+++ b/pes_to_spec/model.py
@@ -1238,6 +1238,8 @@ class Model(TransformerMixin, BaseEstimator):
         for channel in self.get_channels():
             B, P, _ = low_res_selected_dict[channel].shape
             print(f"Calculate PCA on {channel}")
+            pca_max = min(self.channel_pca[channel].n_components_, low_res_selected_dict[channel].shape[0])
+            self.channel_pca[channel].set_params(n_components=pca_max)
             low_pca = self.channel_pca[channel].fit_transform(low_res_selected_dict[channel].reshape(B*P, -1))
             self.ood[channel].fit(low_pca)