Blitting alphachannelled image to an empty SDL_CreateRGBSurface

I loaded an image with alpha channel with IMG_Load. If I try to blit that
to screen, the alpha channel is working. But if I create an empty surface
and blit this alpha channeled image to that one, how should I do that if I
want that alpha channel to still work? Here’s how I try to do it and it
doesn’t work:

SDL_Rect dest;
SDL_Surface *srcImage, *targetImage;

srcImage = IMG_Load(“testimage.png”);

targetImage = SDL_CreateRGB_Surface(SDL_SWSURFACE,
srcImage->w, srcImage->h, srcImage->format->BitsPerPixel,
srcImage->format->Rmask, srcImage->format->Gmask,
srcImage->format->Bmask, srcImage->format->Amask);

dest.x = 0;
dest.y = 0;

SDL_BlitSurface(srcImage, NULL, targetImage, &dest);

Now if I try to blit srcImage to screen, it works, but when trying to blit
targetImage, only black(read: nothing) is seen. What do I do wrong here?