diff --git a/usr/src/cmd/Makefile b/usr/src/cmd/Makefile
index 7fd184e..7b46c44 100644
--- a/usr/src/cmd/Makefile
+++ b/usr/src/cmd/Makefile
@@ -40,9 +40,6 @@ include ../Makefile.master
 #	$(ROOT)/usr/lib/platexec must exist when some other commands are built
 #	because their 'make install' creates a hard link to one of them.
 #
-#	Commands are listed one per line so that TeamWare can auto-merge most
-#	changes.
-#
 
 FIRST_SUBDIRS=		\
 	isaexec		\
diff --git a/usr/src/cmd/mdb/tools/scripts/mkmodules.sh b/usr/src/cmd/mdb/tools/scripts/mkmodules.sh
index 43e11f6..a83f88b 100644
--- a/usr/src/cmd/mdb/tools/scripts/mkmodules.sh
+++ b/usr/src/cmd/mdb/tools/scripts/mkmodules.sh
@@ -100,7 +100,7 @@ VERSION=${VERSION:-"`basename $INCROOT`:`date '+%m/%d/%y'`"}; export VERSION
 MACH=`uname -p`; export MACH
 TMPDIR=/tmp; export TMPDIR
 NODENAME=`uname -n`; export NODENAME
-PATH="$PUBLIC/bin:$PUBLIC/bin/$MACH:/opt/onbld/bin:/opt/onbld/bin/$MACH:/opt/SUNWspro/bin:/opt/teamware/ParallelMake/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/usr/openwin/bin:."; export PATH
+PATH="$PUBLIC/bin:$PUBLIC/bin/$MACH:/opt/onbld/bin:/opt/onbld/bin/$MACH:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/usr/openwin/bin:."; export PATH
 INS=/opt/onbld/bin/$MACH/install.bin; export INS
 MAKEFLAGS=e; export MAKEFLAGS
 
diff --git a/usr/src/head/Makefile b/usr/src/head/Makefile
index 61e63fe..0e76c54 100644
--- a/usr/src/head/Makefile
+++ b/usr/src/head/Makefile
@@ -35,8 +35,6 @@ include ../Makefile.master
 sparc_HDRS= 
 i386_HDRS=	stack_unwind.h
 
-# Headers are listed one per line so that TeamWare can auto-merge most changes
-
 KRB5HDRS= mit_copyright.h mit-sipb-copyright.h
 
 ATTRDB_HDRS=	secdb.h auth_attr.h exec_attr.h prof_attr.h user_attr.h \
diff --git a/usr/src/tools/env/illumos.sh b/usr/src/tools/env/illumos.sh
index 504f6fe..2facf75 100644
--- a/usr/src/tools/env/illumos.sh
+++ b/usr/src/tools/env/illumos.sh
@@ -180,8 +180,8 @@ export PKGFMT_OUTPUT='v1'
 # one problem.
 export MAKEFLAGS='k'
 
-# Magic variable to prevent the devpro compilers/teamware from sending
-# mail back to devpro on every use.
+# Magic variable to prevent the devpro compilers from sending mail back to
+# devpro on every use.
 export UT_NO_USAGE_TRACKING='1'
 
 # Build tools - don't change these unless you know what you're doing.  These
diff --git a/usr/src/tools/findunref/findunref.1onbld b/usr/src/tools/findunref/findunref.1onbld
index 9c54148..c7ff0b2 100644
--- a/usr/src/tools/findunref/findunref.1onbld
+++ b/usr/src/tools/findunref/findunref.1onbld
@@ -69,8 +69,8 @@ By default, \fIsrcroot\fB/.build.tstamp\fR is used.
 .TP 10
 .B -S \fBhg\fP|\fBtw\fP|\fBgit\fP
 Only check files that are managed by the specified SCM.  To simplify
-interaction with \fBwhich_scm\fP(1ONBLD), the SCM names "mercurial" and
-"teamware" may also be specified for "hg" and "tw", respectively.
+interaction with \fBwhich_scm\fP(1ONBLD), the SCM name "mercurial"
+may also be specified for "hg".
 By default, all files are checked.
 .SH SEE ALSO
 .LP
diff --git a/usr/src/tools/findunref/findunref.c b/usr/src/tools/findunref/findunref.c
index 6495272..f56959f 100644
--- a/usr/src/tools/findunref/findunref.c
+++ b/usr/src/tools/findunref/findunref.c
@@ -65,7 +65,7 @@ typedef struct scmdata {
 
 /*
  * Hooks used to check if a given unreferenced file is known to an SCM
- * (currently Git, Mercurial and TeamWare).
+ * (currently Git and Mercurial).
  */
 typedef int checkscm_func_t(const char *, const struct FTW *);
 typedef void chdirscm_func_t(const char *);
@@ -76,7 +76,7 @@ typedef struct {
 	chdirscm_func_t	*chdirfunc;
 } scm_t;
 
-static checkscm_func_t check_tw, check_scmdata;
+static checkscm_func_t check_scmdata;
 static chdirscm_func_t chdir_hg, chdir_git;
 static int	pnset_add(pnset_t *, const char *);
 static int	pnset_check(const pnset_t *, const char *);
@@ -88,8 +88,6 @@ static void	warn(const char *, ...);
 static void	die(const char *, ...);
 
 static const scm_t scms[] = {
-	{ "tw",		check_tw,	NULL		},
-	{ "teamware",	check_tw,	NULL		},
 	{ "hg",		check_scmdata,	chdir_hg 	},
 	{ "mercurial",	check_scmdata,	chdir_hg	},
 	{ "git",	check_scmdata,	chdir_git	},
@@ -372,21 +370,6 @@ check_scmdata(const char *path, const struct FTW *ftwp)
 }
 
 /*
- * Check if a file is under TeamWare control by checking for its corresponding
- * SCCS "s-dot" file.
- */
-static int
-check_tw(const char *path, const struct FTW *ftwp)
-{
-	char sccspath[MAXPATHLEN];
-
-	(void) snprintf(sccspath, MAXPATHLEN, "%.*s/SCCS/s.%s", ftwp->base,
-	    path, path + ftwp->base);
-
-	return (access(sccspath, F_OK) == 0);
-}
-
-/*
  * Using `exceptfile' and a built-in list of exceptions, build and return a
  * pnset_t consisting of all of the pathnames globs which are allowed to be
  * unreferenced in the source tree.
diff --git a/usr/src/tools/gk/login.sh b/usr/src/tools/gk/login.sh
index f623467..7fc5de5 100644
--- a/usr/src/tools/gk/login.sh
+++ b/usr/src/tools/gk/login.sh
@@ -54,7 +54,6 @@ set path=( \
 	/opt/onbld/bin \
 	/opt/onbld/bin/${MACH} \
 	/opt/SUNWspro/bin \
-	/opt/teamware/bin \
 	/usr/ccs/bin \
 	/usr/proc/bin \
 	/usr/openwin/bin \
diff --git a/usr/src/tools/scripts/checkpaths.1onbld b/usr/src/tools/scripts/checkpaths.1onbld
index 4088d13..7fca895 100644
--- a/usr/src/tools/scripts/checkpaths.1onbld
+++ b/usr/src/tools/scripts/checkpaths.1onbld
@@ -64,8 +64,8 @@ not end with a known architecture.
 .LP
 .B CODEMGR_WS
 .RS 4
-The root of your TeamWare workspace, which is the directory
-containing \fICodemgr_wsdata\fP.
+The root of your workspace, which is the directory containing
+\fI.git\fP.
 .RE
 .LP
 .B SRC
diff --git a/usr/src/tools/scripts/flg.flp.sh b/usr/src/tools/scripts/flg.flp.sh
index 55095dd..0484818 100644
--- a/usr/src/tools/scripts/flg.flp.sh
+++ b/usr/src/tools/scripts/flg.flp.sh
@@ -33,7 +33,7 @@
 
 ONBLDDIR=$(dirname $(whence $0))
 
-PATH=/usr/bin:${BUILD_TOOLS:-/opt}/teamware/bin:$ONBLDDIR
+PATH=/usr/bin:$ONBLDDIR
 export PATH
 PROG=`basename $0`
 
@@ -72,16 +72,7 @@ find_files()
    	pat=$1
    	shift
 
-	if [[ "$SCM_MODE" = "teamware" ]]; then
-		for dir; do
-			if [[ -d $CODEMGR_WS/$dir ]]; then
-				cd $CODEMGR_WS
-				find $dir -name "$pat" | \
-					sed -n s:/SCCS/s.:/:p | prpath
-				cd - > /dev/null
-			fi
-		done
-	elif [[ "$SCM_MODE" = "mercurial" || "$SCM_MODE" == "git" ]]; then
+	if [[ "$SCM_MODE" = "mercurial" || "$SCM_MODE" == "git" ]]; then
 		dirs=""
 		for dir; do
 			if [[ -d $CODEMGR_WS/$dir ]]; then
@@ -182,7 +173,7 @@ elif [[ $SCM_MODE == "mercurial" ]]; then
 	FILELIST=$(hg manifest)
 elif [[ $SCM_MODE == "git" ]]; then
 	FILELIST=$(cd $(dirname $(git rev-parse --git-dir)) && git ls-files)
-elif [[ $SCM_MODE != "teamware" ]]; then
+else
 	fail "Unsupported SCM in use: $SCM_MODE"
 fi
 
diff --git a/usr/src/tools/scripts/nightly.1onbld b/usr/src/tools/scripts/nightly.1onbld
index a3b6a89..3b37368 100644
--- a/usr/src/tools/scripts/nightly.1onbld
+++ b/usr/src/tools/scripts/nightly.1onbld
@@ -442,16 +442,6 @@ The gate-defined default location of things formerly in /opt; e.g.,
 /ws/onnv-tools.  This is used by nightly, but not the makefiles.
 .RE
 .LP
-.B TEAMWARE
-.RS 5
-The gate-defined default location for the Teamware tools; e.g.,
-/ws/onnv-tools/SUNWspro.  By default, it is derived from
-.BR OPTHOME .
-This is used by nightly, but not the makefiles.  There is no
-corresponding variable for Mercurial or Subversion, which are assumed
-to be installed in the default path.
-.RE
-.LP
 .B ON_CLOSED_BINS
 .RS 5
 OpenSolaris builds do not contain the closed source tree.  Instead,
diff --git a/usr/src/tools/scripts/which_scm.1onbld b/usr/src/tools/scripts/which_scm.1onbld
index b9a2a31..09dc2c8 100644
--- a/usr/src/tools/scripts/which_scm.1onbld
+++ b/usr/src/tools/scripts/which_scm.1onbld
@@ -54,7 +54,6 @@ used in the output format):
 	rcs
 	sccs
 	subversion
-	teamware
 .fi
 
 If the type of SCM in use is not known, then the string "unknown" is
diff --git a/usr/src/tools/scripts/which_scm.sh b/usr/src/tools/scripts/which_scm.sh
index c8a4b1e..2febe4e 100644
--- a/usr/src/tools/scripts/which_scm.sh
+++ b/usr/src/tools/scripts/which_scm.sh
@@ -33,7 +33,7 @@
 # type have a control directory per directory (RCS and SCCS), with no other
 # structure.  The second type have a control directory in each subdirectory
 # within a tree (CVS and SVN).  The last type have a single control
-# directory at the top of the tree (Teamware and Mercurial).
+# directory at the top of the tree (Mercurial and Git).
 
 # If the common CODEMGR_WS variable is set, then we look there for the
 # SCM type and bail out if we can't determine it.
@@ -53,7 +53,6 @@ function primary_type
 {
 	typeset scmid
 
-	[ -d "$1/Codemgr_wsdata" ] && scmid="$scmid teamware"
 	[ -d "$1/.hg" ] && scmid="$scmid mercurial"
 	[ -d "$1/CVS" ] && scmid="$scmid cvs"
 	[ -d "$1/.svn" ] && scmid="$scmid subversion"
@@ -81,7 +80,7 @@ if [[ -d RCS ]]; then
 	exit 0
 fi
 
-# If it's not Teamware, it could just be local SCCS.
+# It could just be local SCCS.
 LOCAL_TYPE=
 [[ -d SCCS ]] && LOCAL_TYPE="sccs"
 
@@ -99,7 +98,7 @@ while [[ "$DIR" != / ]]; do
 	# We're done searching if we hit either a change in type or the top
 	# of a "third type" control system.
 	if [[ "$SCM_TYPE" != "$CWD_TYPE" || "$SCM_TYPE" == git || \
-	    "$SCM_TYPE" == mercurial || "$SCM_TYPE" == teamware ]]; then
+	    "$SCM_TYPE" == mercurial ]]; then
 		break
 	fi
 	PREVDIR="$DIR"
diff --git a/usr/src/tools/scripts/ws.sh b/usr/src/tools/scripts/ws.sh
index 3d9084c..116e9ed 100644
--- a/usr/src/tools/scripts/ws.sh
+++ b/usr/src/tools/scripts/ws.sh
@@ -70,17 +70,13 @@ check_proto()
 		return
 	fi
 
-	if [[ "$SCM_MODE" = "teamware" ]]; then
-		# Check for problematic parent specification and adjust
-		proto=`echo $1|fmtwsname`
-		echo "${proto}/root_${MACH}"
-	elif [[ "$SCM_MODE" = "mercurial" ]]; then
+	if [[ "$SCM_MODE" = "mercurial" ]]; then
 		proto=$1
 		#
 		# If the proto is a local repository then we can use it
 		# to point to the parents proto area. Don't bother to
-		# check if it exists or not, we never did for Teamware,
-		# since it might appear later anyway.
+		# check if it exists or not, since it might appear later
+		# anyway.
 		#
 		if [[ "${proto##ssh://}" == "$proto" && \
 		     "${proto##http://}" == "$proto" && \
@@ -217,11 +213,7 @@ CODEMGR_WS=$wsname ; export CODEMGR_WS
 SRC=$wsname/usr/src; export SRC
 TSRC=$wsname/usr/ontest; export TSRC
 
-if [[ "$SCM_MODE" = "teamware" && -d ${wsname}/Codemgr_wsdata ]]; then
-	CM_DATA="Codemgr_wsdata"
-	wsosdir=$CODEMGR_WS/$CM_DATA/sunos
-	protofile=$wsosdir/protodefs
-elif [[ "$SCM_MODE" = "mercurial" && -d ${wsname}/.hg ]]; then
+if [[ "$SCM_MODE" = "mercurial" && -d ${wsname}/.hg ]]; then
 	CM_DATA=".hg"
 	wsosdir=$CODEMGR_WS/$CM_DATA
 	protofile=$wsosdir/org.opensolaris.protodefs
@@ -286,20 +278,7 @@ if [[ ! -f $protofile ]]; then
 PROTO1=\$CODEMGR_WS/proto
 PROTOFILE_EoF
 	
-	if [[ "$SCM_MODE" = "teamware" ]]; then
-		cat << PROTOFILE_EoF >> $protofile
-if [[ -f "\$CODEMGR_WS/Codemgr_wsdata/parent" ]]; then
-   #
-   # If this workspace has an codemgr parent then set PROTO2 to
-   # point to the parents proto space.
-   #
-   parent=\`workspace parent \$CODEMGR_WS\`
-   if [[ -n \$parent ]]; then
-	   PROTO2=\$parent/proto
-   fi
-fi
-PROTOFILE_EoF
-	elif [[ "$SCM_MODE" = "mercurial" ]]; then
+	if [[ "$SCM_MODE" = "mercurial" ]]; then
 		cat << PROTOFILE_EoF >> $protofile
 parent=\`(cd \$CODEMGR_WS && hg path default 2>/dev/null)\`
 if [[ \$? -eq 0 && -n \$parent ]]; then
