diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp
index 83001da..089bda6 100644
--- a/Magick++/lib/Image.cpp
+++ b/Magick++/lib/Image.cpp
@@ -4273,7 +4273,7 @@
ExceptionInfo exceptionInfo;
GetExceptionInfo( &exceptionInfo );
_imgRef->id(_imgRef->id()+1);
- sprintf(id,"%ld\n",(long) _imgRef->id());
+ sprintf(id,"%.20g\n",(double) _imgRef->id());
SetImageRegistry(ImageRegistryType, id, image(), &exceptionInfo);
throwException( exceptionInfo );
(void) DestroyExceptionInfo( &exceptionInfo );
diff --git a/Magick++/lib/ImageRef.cpp b/Magick++/lib/ImageRef.cpp
index 8a007b4..c736a89 100644
--- a/Magick++/lib/ImageRef.cpp
+++ b/Magick++/lib/ImageRef.cpp
@@ -59,7 +59,7 @@
if( _id > -1 )
{
char id[MaxTextExtent];
- sprintf(id,"%ld",(long) _id);
+ sprintf(id,"%.20g",(double) _id);
DeleteImageRegistry( id );
_id=-1;
}
@@ -97,7 +97,7 @@
if( _id > -1 )
{
char id[MaxTextExtent];
- sprintf(id,"%ld",(long) _id);
+ sprintf(id,"%.20g",(double) _id);
DeleteImageRegistry( id );
}
_id = id_;