diff --git a/ChangeLog b/ChangeLog
index b9d91949f..1b96c308c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-05-07  Todd Berman  <tberman@sevenl.net>
+
+	* gnome/Gnome.metadata: Hide Scores ctor.
+	* gnome/Makefile.am: add Scores.custom.
+	* gnome/Scores.custom: New custom for overridable ctor.
+
 2004-05-07  Mike Kestner  <mkestner@ximian.com>
 
 	* gtk/Gtk.metadata : map some RadioButton ctor props.
diff --git a/gnome/Gnome.metadata b/gnome/Gnome.metadata
index 478a7bf0f..2031ec69d 100644
--- a/gnome/Gnome.metadata
+++ b/gnome/Gnome.metadata
@@ -107,4 +107,5 @@
   <attr path="/api/namespace/struct[@cname='GnomeCanvasPathDef']/method[@name='Split']/return-type" name="element_type">Gnome.CanvasPathDef</attr>
   <attr path="/api/namespace/struct[@cname='GPFontEntry']/field[@cname='weight']" name="access">private</attr>
   <attr path="/api/namespace/struct[@cname='GnomePrintPaper']/method/*/*[@type='const-guchar*']" name="type">const-gchar*</attr>
+  <attr path="/api/namespace/object[@cname='GnomeScores']/constructor[@cname='gnome_scores_new']" name="hidden">1</attr>
 </metadata>
diff --git a/gnome/Makefile.am b/gnome/Makefile.am
index a68152943..0fd67b904 100644
--- a/gnome/Makefile.am
+++ b/gnome/Makefile.am
@@ -65,7 +65,8 @@ customs =					\
 	Print.custom				\
 	PrintDialog.custom			\
 	PrintJob.custom				\
-	Program.custom
+	Program.custom				\
+	Scores.custom
 
 build_customs = $(addprefix $(srcdir)/, $(customs))
 
diff --git a/gnome/Scores.custom b/gnome/Scores.custom
new file mode 100644
index 000000000..8622d673e
--- /dev/null
+++ b/gnome/Scores.custom
@@ -0,0 +1,12 @@
+		[DllImport("gnomeui-2")]
+		static extern IntPtr gnome_scores_new(uint n_scores, string names, out float scores, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(GLib.time_t_CustomMarshaler))] System.DateTime times, bool clear);
+                
+		public Scores (uint n_scores, string names, out float scores, System.DateTime times, bool clear) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (Scores)) {
+				CreateNativeObject (new string[0], new GLib.Value[0]);
+				scores = Construct (n_scores, names, times, clear);
+				return;
+			}
+			Raw = gnome_scores_new(n_scores, names, out scores, times, clear);
+		}