fork () oddziały bardziej niż oczekiwano?

Rozważ następujący fragment kodu:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void)
{
    int i;
    for(i = 0; i < 2; i++)
    {
        fork();
        printf(".");
    }
    return 0;
}

Ten program wyświetla 8 punktów. Jak to możliwe? Czy nie powinno być 6 kropek?