Make the degenerated torus bounded in two values of parameters processed as a regular to insert a seam edge properly.
   Handle(Geom_ToroidalSurface) aTorSurf = Handle(Geom_ToroidalSurface)::DownCast(mySurf->Surface());
   Standard_Boolean             anIsDegeneratedTor =
     (aTorSurf.IsNull() ? Standard_False : aTorSurf->MajorRadius() < aTorSurf->MinorRadius());
+  // if the second wire is not null, we don't need mark the torus as degenerated
+  // and should process it as a regular one.
+  if (anIsDegeneratedTor && !w2.IsNull())
+  {
+    anIsDegeneratedTor = Standard_False;
+  }
 
   if (w1.IsNull())
     return Standard_False;
 
--- /dev/null
+puts "================================================"
+puts "Revolved shape in STEP file is imported inverted"
+puts "================================================"
+puts ""
+
+stepread [locate_data_file gh_bug378.stp] a *
+checkprops a_1 -v 10504.9
+