diff --git a/libart-2.3.19-header.patch b/libart-2.3.19-header.patch
new file mode 100644
index 0000000..e87c87c
--- /dev/null
+++ b/libart-2.3.19-header.patch
@@ -0,0 +1,18 @@
+--- libart_lgpl-2.3.19/art_misc.h.extern-c      2007-01-02 00:59:22.000000000 +0100
++++ libart_lgpl-2.3.19/art_misc.h       2007-03-01 09:19:06.000000000 +0100
+@@ -34,9 +34,15 @@
+ #include <libart_lgpl/art_config.h>
+ #endif
+
++#ifdef __cplusplus
++extern "C" {
++#endif
+ void *art_alloc(size_t size);
+ void art_free(void *ptr);
+ void *art_realloc(void *ptr, size_t size);
++#ifdef __cplusplus
++}
++#endif /* __cplusplus */
+ 
+ /* These aren't, strictly speaking, configuration macros, but they're
+    damn handy to have around, and may be worth playing with for
diff --git a/libart_lgpl.spec b/libart_lgpl.spec
index 6c9a66e..ab9030d 100644
--- a/libart_lgpl.spec
+++ b/libart_lgpl.spec
@@ -1,10 +1,11 @@
 Summary: Library of graphics routines used by libgnomecanvas
 Name: libart_lgpl
 Version: 2.3.19
-Release: 1%{?dist}
+Release: 2%{?dist}
 URL: http://www.gnome.org/
 Source0: http://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/%{name}-%{version}.tar.bz2
 Patch0: libart-multilib.patch
+Patch1: libart-2.3.19-header.patch
 License: LGPL
 Group: System Environment/Libraries 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 
@@ -28,6 +29,7 @@ applications. libart renders vector paths and the like.
 %prep
 %setup -q
 %patch0 -p1 -b .multilib
+%patch1 -p1 -b .header
 
 %build
 %configure --disable-static
@@ -89,6 +91,10 @@ rm -rf %{buildroot}
 %{_includedir}/*
 
 %changelog
+* Thu Mar 01 2007 Behdad Esfahbod <besfahbo@edhat.com> - 2.3.19-2
+- Add upstreamed patch libart-2.3.19-header.patch
+- Resolves: #230571
+
 * Wed Feb 28 2007 Matthias Clasen <mclasen@redhat.com> - 2.3.19-1
 - Update to 2.3.19