diff --git a/apps/codecs/cook.c b/apps/codecs/cook.c
index cd624ab..25dc75b 100644
--- a/apps/codecs/cook.c
+++ b/apps/codecs/cook.c
@@ -34,7 +34,7 @@ COOKContext q;

static void init_rm(RMContext *rmctx)
{
- memcpy(rmctx, (void*)(( (int)ci->id3->id3v2buf + 3 ) &~ 3), sizeof(RMContext));
+ memcpy(rmctx, (void*)(( (uint32_t)ci->id3->id3v2buf + 3 ) &~ 3), sizeof(RMContext));
}

/* this is the codec entry point */
diff --git a/apps/metadata/rm.c b/apps/metadata/rm.c
index 8fbf684..54da630 100644
--- a/apps/metadata/rm.c
+++ b/apps/metadata/rm.c
@@ -395,7 +395,7 @@ static int rm_parse_header(int fd, RMContext *rmctx, struct mp3entry *id3)

bool get_rm_metadata(int fd, struct mp3entry* id3)
{
- RMContext *rmctx = (RMContext*) (( (int)id3->id3v2buf + 3 ) &~ 3);
+ RMContext *rmctx = (RMContext*) (( (uint32_t)id3->id3v2buf + 3 ) &~ 3);
memset(rmctx,0,sizeof(RMContext));
if(rm_parse_header(fd, rmctx, id3) < 0)
return false;