diff --git a/girepository/girmodule.c b/girepository/girmodule.c
index bf1e856..985d774 100644
--- a/girepository/girmodule.c
+++ b/girepository/girmodule.c
@@ -301,10 +301,10 @@ g_ir_module_build_typelib (GIrModule  *module,
       GIrTypelibBuild build;
       GIrNode *node = e->data;
 
-      if (strchr (node->name, '.'))
+      /*if (strchr (node->name, '.'))
         {
 	  g_error ("Names may not contain '.'");
-	}
+	}*/
 
       /* we picked up implicit xref nodes, start over */
       if (i == n_entries)
diff --git a/girepository/gtypelib.c b/girepository/gtypelib.c
index d22fd40..dcb71f5 100644
--- a/girepository/gtypelib.c
+++ b/girepository/gtypelib.c
@@ -246,7 +246,7 @@ validate_name (GTypelib   *typelib,
       return FALSE;
     }
   
-  if (strspn (name, G_CSET_a_2_z G_CSET_A_2_Z G_CSET_DIGITS "-_") < strlen (name)) 
+  if (strspn (name, G_CSET_a_2_z G_CSET_A_2_Z G_CSET_DIGITS "-_.") < strlen (name)) 
     {
       g_set_error (error,
 		   G_TYPELIB_ERROR,
