diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 3d7dbfd5666549896af029b96f874e8f43462bb8..ccc6b857c60b6e75027be2713005c01ebbd13f92 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb (Complete_Private_Subtype): Inherit the
+	Has_Unknown_Discriminants from the full view of the base type.
+
 2013-02-06  Tristan Gingold  <gingold@adacore.com>
 
 	* raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 532b2b2035d6c38b32e82a43cba7dab905f0fa8a..224a3d96c0a208c7763de8491432435ba023d5eb 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -10255,15 +10255,17 @@ package body Sem_Ch3 is
               Protected_Kind   =>
             Copy_Node (Priv, Full);
 
-            Set_Has_Discriminants  (Full, Has_Discriminants (Full_Base));
-            Set_First_Entity       (Full, First_Entity (Full_Base));
-            Set_Last_Entity        (Full, Last_Entity (Full_Base));
+            Set_Has_Discriminants (Full, Has_Discriminants (Full_Base));
+            Set_Has_Unknown_Discriminants
+              (Full, Has_Unknown_Discriminants (Full_Base));
+            Set_First_Entity      (Full, First_Entity (Full_Base));
+            Set_Last_Entity       (Full, Last_Entity (Full_Base));
 
          when others =>
             Copy_Node (Full_Base, Full);
-            Set_Chars          (Full, Chars (Priv));
-            Conditional_Delay  (Full, Priv);
-            Set_Sloc           (Full, Sloc (Priv));
+            Set_Chars         (Full, Chars (Priv));
+            Conditional_Delay (Full, Priv);
+            Set_Sloc          (Full, Sloc (Priv));
       end case;
 
       Set_Next_Entity (Full, Save_Next_Entity);
@@ -17388,7 +17390,6 @@ package body Sem_Ch3 is
       if Is_Private_Type (Id_B) then
          Append_Elmt (Id, Private_Dependents (Id_B));
       end if;
-
    end Prepare_Private_Subtype_Completion;
 
    ---------------------------